我正在修改OpenAPI,我想在一个单独的文件中提供我的组件定义。我知道这是通过在SwaggerHub上创建的域来实现的。我的问题是,我是在舞台上,我仍然在玩,并希望避免在第三方网站上发布的东西。
是否有一种方法可以使用$ref引用域--本地文件(并避免在SwaggerHub.com上引用文件)?
发布于 2022-08-16 14:10:33
为了结束循环,我会在这里回答我自己的问题。回答我上述问题的人确实帮助我走上了正确的道路,但我不能诚实地说他回答了我的问题。
我想,最初让我感到困惑的是Linkedin上的Swagger教程,该教程解释了如何进行本地引用,然后将SwaggerHub“域”解释为通向可重用模式定义的路径(似乎是唯一的方法)。
事实证明,我的问题的答案很简单:
$ref: './my-schemas.yaml#/components/schemas/myGoodStuff'这在https://swagger.io/docs/specification/using-ref/中被称为远程引用。
发布于 2022-08-15 07:46:40
如果手动创建该定义,则类似(可以是一个单独的文件)。
definitions:
SuccessResponse:
type: object
properties:
message:
type: string
description: API response message
status:
type: boolean
code:
type: number
description: Api Response Code
data:
type: object
description: data will be available here然后,可以使用$ref在API定义中引用它,如:
responses: # server responses
200:
description: Response when le0 run successfully
content:
application/json:
schema:
$ref: "#/definitions/SuccessResponse"https://stackoverflow.com/questions/73358017
复制相似问题