Skip to content

Support multiple "documentation pages" #34

Open
@suan

Description

@suan

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.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions