OpenAPI or swagger.json auto discovery

做~自己de王妃 提交于 2019-12-01 08:35:34

Updated 19 April 2017: The OpenAPI Wiki answer I gave previously is "for a very very very old version of the spec". The same source states that for 2.0 the standard is swagger.json, for 3.0 it changes to openapi.json.

Original answer:

The OpenAPI Wiki recommends using an /api-docs endpoint, at least for server APIs. I've seen several sites in the wild that use that, and it's our shop standard.

Hope that helps.

How about serving the Swagger JSON in an HTTP response body, in response to an OPTIONS request for the URL / ?

This is specifically permitted by the relevant RFC.

Further, consider implementing HATEOAS, as strongly advocated by Roy Fielding.

Okay. OpenAPI 3.0 still lacking auto-discovery mechanism, I try to propose a scheme based on some things that were already working:

  1. https://example.com/.well-known/schema-discovery is a JSON document pointing to array of available schemas:

    [
      {
        "schema_url": "/openapi.json",
        "schema_type": "openapi-3.0"
      },
      {
        "schema_url": "/v2/openapi.json",
        "schema_type": "openapi-3.0"
      }
    ]
    
  2. If there is only one version of API, then https://example.com/openapi.json should be enough.

  3. HTTP Headers. I remember somebody from Google proposed HTTP header for pointing to API. If you can find or remember it, please tell me.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!