我正在基于专门支持XML的规范在ASP.NET Core 2.1中实现Web服务。因此,内容协商过程必须返回XML文档或返回错误。不幸的是,ASP.NET Core 2.1默认情况下支持JSON,并且默认情况下,如果使用Accept:application / json进行请求,则内容协商过程始终会成功。
有谁知道是否可以配置ASP.NET Core项目,以便在设置了XML以外的任何其他媒体类型的情况下使内容协商过程抛出错误?
最佳答案
对不起,我迟到了。这对我有用:
services.AddMvc(options =>
{
options.OutputFormatters.RemoveType(typeof(JsonOutputFormatter));
options.InputFormatters.RemoveType(typeof(JsonInputFormatter));
options.ReturnHttpNotAcceptable = true;
})
.AddXmlSerializerFormatters()
.SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
关于c# - 内容协商:如何删除JSON作为受支持的格式?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52507339/