【发布时间】:2017-05-28 15:56:28
【问题描述】:
REST 服务应该提供内容协商。这意味着客户端发送一个 Accept 标头,其中包含所需的响应内容类型。如果服务不支持这种媒体类型,它应该以状态码 406(不可接受)进行响应。
我尝试将此行为映射到 ASP.NET Core。如果 ASP.NET 核心无法识别 Accept 标头中的媒体类型,它会返回一个 JSON 文档。在以前版本的框架中,可以通过在配置中添加特殊的输出格式化程序来实现上述行为:
public void ConfigureServices(IServiceCollection services) {
services.AddMvc(options => {
options.OutputFormatters.Insert(0, new HttpNotAcceptableOutputFormatter());
});
}
不幸的是,HttpNotAcceptableOutputFormatter 在 RC1 之后已从 ASP.NET Core 框架中删除。在当前版本的框架中有没有这个类的替代品?
【问题讨论】:
标签: c# asp.net-core