我有我们在工作中都使用的 Asp.net Core Swagger 框架。它只是用 Swagger 包装了所有 PITA 的东西。它被设计成 json in/json out。现在,一组希望仅将它与 XML in/XML out 一起使用。
这是我到目前为止所做的:
1) 将 startup.cs 更改为:
services.AddMvc().AddXmlSerializerFormatters();
2) 在 Controller 方法上,更改为:
[Consumes("application/xml")]
[Produces("application/xml")]
3) 在操作过滤器中,添加:
operation.Produces.Add("application/xml");
现在,在测试用户界面中,我只获得输入和输出下拉列表的 application/xml。当我点击测试按钮时,我的请求被正确反序列化,但测试页面产生了 406 错误。
我还需要更改哪些其他内容?
最佳答案
客户端需要发送包含application/xml
的Accepts
header 。您已将 application/xml
设置为唯一可能的响应类型,如果客户端请求类似 application/json
的内容,服务器将无法再满足该请求。
关于c# - Swagger(.Net Core)中的 XML 支持?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48067024/