如何更改 Swagger 响应的类型?
How do I change the type of a Swagger response?
我有一个 swagger API 构造,它使用 POST 端点接收 JSON 文件和 returns 一个有效的 JSON 模式文件。
然而,当构建并返回 JSON 模式时,该字符串还包含转义字符反斜杠。例如
通常正确的字符串
{"$schema": "http://json-schema.org/draft-04/schema#"}
在Swagger中会返回如下API:
"{\"$schema\": \"http://json-schema.org/draft-04/schema#\"}
如您所见,包含的反斜杠不应该存在。反斜杠用于在 C# 中转义 "
字符,但是当此数据作为 JSON 返回时,转义字符似乎也被打印出来而不是被解析和删除。
我是否可以更改 Swagger 端点的响应类型,以免发生这种情况? UI 中有一个下拉菜单可供我更改响应类型,但只有 application/json
可用。
Swashbuckle.AspNetCore 和 Swashbuckle.AspNetCore.Swagger 版本 3.0.0 正在使用。
您是否return为所有 api 端点设置通用类型?由于您使用的是 .Net Core,为什么不使用 ProducesResponseType
属性并将类型提到 return,例如
[ProducesResponseType(typeof(Your_Type))]
我有一个 swagger API 构造,它使用 POST 端点接收 JSON 文件和 returns 一个有效的 JSON 模式文件。
然而,当构建并返回 JSON 模式时,该字符串还包含转义字符反斜杠。例如
通常正确的字符串{"$schema": "http://json-schema.org/draft-04/schema#"}
在Swagger中会返回如下API:
"{\"$schema\": \"http://json-schema.org/draft-04/schema#\"}
如您所见,包含的反斜杠不应该存在。反斜杠用于在 C# 中转义 "
字符,但是当此数据作为 JSON 返回时,转义字符似乎也被打印出来而不是被解析和删除。
我是否可以更改 Swagger 端点的响应类型,以免发生这种情况? UI 中有一个下拉菜单可供我更改响应类型,但只有 application/json
可用。
Swashbuckle.AspNetCore 和 Swashbuckle.AspNetCore.Swagger 版本 3.0.0 正在使用。
您是否return为所有 api 端点设置通用类型?由于您使用的是 .Net Core,为什么不使用 ProducesResponseType
属性并将类型提到 return,例如
[ProducesResponseType(typeof(Your_Type))]