1

我正在使用具有端点的 swagger 中的 API 规范:

/authorizations

我也想为此端点定义一个替代拼写(授权)。这可能吗?还是我需要为每个拼写定义单独的路线?

/authorizations:
    get:
      description: Returns a list of authorizations
4

3 回答 3

2

Swagger 当前不支持重载/别名路径定义。我不记得曾经见过这样的请求,但是非常欢迎您在https://github.com/wordnik/swagger-spec上打开一个问题,要求在未来的版本中添加对它的支持。

于 2014-11-19T09:19:44.460 回答
2

一种可能的解决方法是定义另一个路径$ref作为原始路径,这样您最终会得到相同路径的两个副本。

paths:
  /authorizations:
    get:
      description: Returns a list of authorizations
      responses:
        200:
          description: OK
  /authorisations:
    $ref: '#/paths/~1authorizations'

这种技术的一个限制是您不能拥有operationId这些路径,因为这两条路径最终将具有相同的 ID,这是不允许的。

如果您需要不同operationId的路径,则需要以通常的方式定义第二条路径(即从第一条路径复制粘贴定义)。

于 2017-12-05T10:50:44.133 回答
2

请参阅https://github.com/OAI/OpenAPI-Specification/issues/213,其中一个建议是使用 308 重定向定义“重命名”路径:

  /original-x:
    description: Redirects to the new X
    get:
      responses:
        '308':
          description: This resource has been moved
          headers:
            Location:
              schema:
                type: string
                default: /new-x

(我还没有看到另一种干净地实现这一点的方法。)

于 2020-02-03T20:44:14.733 回答