我正在使用具有端点的 swagger 中的 API 规范:
/authorizations
我也想为此端点定义一个替代拼写(授权)。这可能吗?还是我需要为每个拼写定义单独的路线?
/authorizations:
get:
description: Returns a list of authorizations
我正在使用具有端点的 swagger 中的 API 规范:
/authorizations
我也想为此端点定义一个替代拼写(授权)。这可能吗?还是我需要为每个拼写定义单独的路线?
/authorizations:
get:
description: Returns a list of authorizations
Swagger 当前不支持重载/别名路径定义。我不记得曾经见过这样的请求,但是非常欢迎您在https://github.com/wordnik/swagger-spec上打开一个问题,要求在未来的版本中添加对它的支持。
一种可能的解决方法是定义另一个路径$ref
作为原始路径,这样您最终会得到相同路径的两个副本。
paths:
/authorizations:
get:
description: Returns a list of authorizations
responses:
200:
description: OK
/authorisations:
$ref: '#/paths/~1authorizations'
这种技术的一个限制是您不能拥有operationId
这些路径,因为这两条路径最终将具有相同的 ID,这是不允许的。
如果您需要不同operationId
的路径,则需要以通常的方式定义第二条路径(即从第一条路径复制粘贴定义)。
请参阅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
(我还没有看到另一种干净地实现这一点的方法。)