如何更改Swagger响应的类型?

时间:2018-11-12 13:52:11

标签: c# asp.net-core swagger swashbuckle

我构建了一个醒目的API,该API使用POST端点接收JSON文件并返回该文件的有效JSON模式。

但是,当构造并返回JSON模式时,字符串还包含转义字符反斜杠。例如,通常正确的

字符串
{"$schema": "http://json-schema.org/draft-04/schema#"}

在Swagger API中将按以下方式返回:

"{\"$schema\": \"http://json-schema.org/draft-04/schema#\"}

如您所见,包含的反斜杠不应在其中。反斜杠用于在C#中转义"字符,但是当此数据作为JSON返回时,似乎转义字符也正在打印而不是解析和删除。

无论如何,我是否可以更改Swagger端点的响应类型,以免发生这种情况?用户界面中有一个下拉菜单,允许我更改响应类型,但只有application/json可用。

正在使用Swashbuckle.AspNetCore和Swashbuckle.AspNetCore.Swagger版本3.0.0。

1 个答案:

答案 0 :(得分:2)

您是否为所有api端点返回通用类型?由于您使用的是.Net Core,为什么不使用ProducesResponseType属性并提及要返回的类型

[ProducesResponseType(typeof(Your_Type))]