如何更改 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))]