我正在编写一个WebAPI应用程序并尝试删除XML。我已移除XmlFormatter
,但如果我使用Accept: application/xml
发出请求,我仍然会收到200
个application/json
回复的回复。为什么是这样?我如何确保收到406错误?
答案 0 :(得分:1)
WebAPI迫切希望返回一个响应,因此当找不到匹配项时,默认内容协商器会回退到可用的协议。
您必须提供excludeMatchOnTypeOnly
:
var negotiator = new DefaultContentNegotiator(excludeMatchOnTypeOnly: true);
config.Services.Replace(typeof(IContentNegotiator), negotiator);
至少,根据this 2012 blog post。