How can we improve Azure API Management?

Support multiple APIs in Swagger import

When importing a swagger file (created using SwashBuckle Nuget for WebAPI) with multiple APIs I get an error saying unable to Parse. Here's what my server currently returns:
{"swaggerVersion":"1.2","apiVersion":"1.0","apis":[{"path":"/BookingApiController"},{"path":"/CourseController"},{"path":"/QueryApiController"},{"path":"/ReservationController"},{"path":"/ReviewApiController"},{"path":"/SearchController"},{"path":"/UserApiController"}]}

then it should go through each of those to get the actual methods. I assume this is proper Swagger (I'm using SwashBuckle NuGet to generate these from my WebApi project). But the Import API function doesn't seem to handle this format. It works if I paste in just one of the controllers, but then I only get that part of the API.

11 votes
Vote
Sign in
(thinking…)
Sign in with: Microsoft
Signed in as (Sign out)
You have left! (?) (thinking…)
Hakan Lindestaf shared this idea  ·   ·  Flag idea as inappropriate…  ·  Admin →
under review  ·  Josh Twist responded  · 

Thanks for the feedback Hakan, we’ll look into this.

1 comment

Sign in
(thinking…)
Sign in with: Microsoft
Signed in as (Sign out)
Submitting...
  • Anonymous commented  ·   ·  Flag as inappropriate

    The proper syntax from the specification to import multiple APIs is this:
    {
    "swaggerVersion": "1.2",
    "apiDeclarations": [
    { "resourcePath": "/users", "apis": [ ... ] },
    { "resourcePath": "/todos", "apis": [ ... ] },
    ...........................
    ]
    }

    There is an example of this syntax on the new Swagger editor here: http://editor.swagger.wordnik.com/#/
    It uses the new YAML syntax but if you go under - Download - JSON you can get the JSON version of the configuration.

    And here are the DOCS for the full 1.2 spec: https://github.com/wordnik/swagger-spec/blob/master/versions/1.2.md

    There is other things missing from the Swagger specification which I think could be easily added to the Azure API Management platform to make for an enjoyable API creation experience.

Feedback and Knowledge Base