Swagger UI 擦除参数
Swagger UI erases Parameters
我看到的错误是,只要我在 UI 上的参数中输入内容,它就会消失。
我正在基于方法修饰动态创建控制器,所以我无法创建在构建时驱动 swagger.json 的 XML。作为一种解决方法,我创建了另一个控制器,它检查添加到运行时的控制器并输出有效的 swagger.json(或者我认为如此)。这适用于 POST,但在尝试将路由参数添加到 GET 时似乎特别失败。
这是我为 GET 生成的 json:
"openapi": "3.0.1",
... // cutting out unrelated other stuff
"/api/v1/test4/{Value2}": {
"get": {
"tags": [
],
"summary": "A sample GET",
"parameters": [
{
"name": "Value2",
"in ": "path",
"required": true,
"schema": {
"type": "string",
"format": ""
}
},
,
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"$ref": "#/components/schemas/TestReply"
}
}
}
}
}
}
}
该项目是 .Net Framework 4.8 项目,我使用的包是 Microsoft.AspNetCore 2.2.0 和 Swashbuckle.AspNetCore 5.5.1。
in
属性的名称中多了一个 space:
"in ": "path",
^
^
删除 space.
您还可以使用 https://editor.swagger.io 检查您的 API 定义是否存在语法错误。
我看到的错误是,只要我在 UI 上的参数中输入内容,它就会消失。
我正在基于方法修饰动态创建控制器,所以我无法创建在构建时驱动 swagger.json 的 XML。作为一种解决方法,我创建了另一个控制器,它检查添加到运行时的控制器并输出有效的 swagger.json(或者我认为如此)。这适用于 POST,但在尝试将路由参数添加到 GET 时似乎特别失败。
这是我为 GET 生成的 json:
"openapi": "3.0.1",
... // cutting out unrelated other stuff
"/api/v1/test4/{Value2}": {
"get": {
"tags": [
],
"summary": "A sample GET",
"parameters": [
{
"name": "Value2",
"in ": "path",
"required": true,
"schema": {
"type": "string",
"format": ""
}
},
,
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"$ref": "#/components/schemas/TestReply"
}
}
}
}
}
}
}
该项目是 .Net Framework 4.8 项目,我使用的包是 Microsoft.AspNetCore 2.2.0 和 Swashbuckle.AspNetCore 5.5.1。
in
属性的名称中多了一个 space:
"in ": "path",
^
^
删除 space.
您还可以使用 https://editor.swagger.io 检查您的 API 定义是否存在语法错误。