我构建了一个醒目的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。
答案 0 :(得分:2)
您是否为所有api端点返回通用类型?由于您使用的是.Net Core,为什么不使用ProducesResponseType
属性并提及要返回的类型
[ProducesResponseType(typeof(Your_Type))]