Description
Right now grape-swagger-rails expects to be mounted only once, at a single route. It also expects a single global definition of options.url
, options.app_url
, etc.
It would be really useful if we could mount multiple "swagger roots", just like we can mount multiple APIs at different routes using Grape itself. I think it'll also go a long way towards supporting issues like ruby-grape/grape-swagger#141 and at the very least provide a nice workaround
Would this be something you'd be open to supporting? I'm thinking it'll look something like you can specify a set of options
per-mount and you can mount multiple subclasses of GrapeSwaggerRails::Engine
at different routes.
P/S: The reason we need this now is due to Swagger 2.0's decision to only support one endpoint/operation for each (unique resource path + HTTP method) combo. The version of swagger-ui
vendored here assumes this and only documents the last-mounted endpoint for each path. Since we use accept-header-only versioning, obviously this is very bad for us.