c# - Swagger(.Net Core)中的 XML 支持?

标签 c# asp.net-core swagger swagger-ui

我有我们在工作中都使用的 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/xmlAccepts header 。您已将 application/xml 设置为唯一可能的响应类型,如果客户端请求类似 application/json 的内容,服务器将无法再满足该请求。

关于c# - Swagger(.Net Core)中的 XML 支持?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48067024/

相关文章:

c# - 我可以扩展命令类,以便自动禁用绑定(bind)到它的按钮吗?

c# - 使用 Authentication.AzureAD.UI 库时实现 OpenIdConnectOptions 事件

c# - Swagger 在 API UI 屏幕上显示错误部分

c# - 用于聚合惰性列表的设计模式

c# - 如何使用多线程 C# 执行控制台应用程序

C# 根据用户输入重复循环

mysql - Entity Framework 主干 json 大小为 65535

javascript - 使用 Angular Js 上传文件夹

rest - Swagger/RAML(或任何类似的 REST API 规范)是否支持 REST 异步客户端回调?

gradle - 使用 Gradle 配置 Swagger 代码生成器。提供的 Gradle 脚本如何工作?