mik*_*ike 0 yaml swagger swagger-codegen
使用扬鞭/ OpenAPI的(随后招摇,代码生成),我一直没能找到有什么区别应该是之间
这是从https://swagger.io/specification/#responsesObject获取的 (第一个示例,json格式)
"responses" : {
"200": {
"description": "a pet to be returned",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Pet"
} } } } }
Run Code Online (Sandbox Code Playgroud)
和
"responses" : {
"200": {
"description": "a pet to be returned",
"schema": {
"$ref": "#/components/schemas/Pet"
} } }
Run Code Online (Sandbox Code Playgroud)
我已将此示例放入一个简单的json swagger规范(json)中,并运行Swagger-Codegen(python,flask)来生成我的控制器和模型。Yaml似乎是首选的内部表示形式,因此当生成器运行时,它将创建一个yaml文件。
对于前者,响应类型为“无”
responses:
200:
description: "a pet to be returned"
Run Code Online (Sandbox Code Playgroud)
而后者产生了我认为我应该期望的:
responses:
200:
description: "a pet to be returned"
schema:
$ref: "#/components/schemas/Pet"
Run Code Online (Sandbox Code Playgroud)
例如,似乎使用以下语法从第一个语法中省略了模式 Content
内容是什么意思?我在示例中缺少什么,为什么Content结果没有返回Non-None返回类型和相应的模式。
请注意SwaggerCodgen:生成的代码与生成的yaml所说的完全匹配,因此在这里我没有包括任何这些细节
第一个示例是OpenAPI 3.0,第二个示例是OpenAPI 2.0,因此有所不同。
所述content在所述OpenAPI 3.0中使用的关键字为替换consumes/ produces从所述OpenAPI 2.0。在的上下文中responses,content表示响应具有主体,并指定响应主体的媒体类型(JSON / XML / etc。)和结构。
OpenAPI 2.0版本:
swagger: "2.0"
...
paths:
/foo:
get:
produces:
- application/json
responses:
200:
description: OK
schema:
$ref: "#/definitions/Pet"
Run Code Online (Sandbox Code Playgroud)
OpenAPI 3.0版本:
openapi: 3.0.0
...
paths:
/foo:
get:
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: "#/components/schemas/Pet"
Run Code Online (Sandbox Code Playgroud)
代码生成问题可能是由以下原因引起的:
| 归档时间: |
|
| 查看次数: |
376 次 |
| 最近记录: |