asp.net-core – ASP.NET Core中的状态码406(不可接受)
发布时间:2020-12-16 07:36:49 所属栏目:asp.Net 来源:网络整理
导读:REST服务应该提供内容协商.这意味着客户端发送包含响应所需内容类型的Accept标头.如果服务不支持此媒体类型,则应使用状态代码406(不可接受)进行响应. 我尝试将此行为映射到ASP.NET Core.如果ASP.NET核心无法识别Accept标头中的媒体类型,则它将返回JSON文档.
REST服务应该提供内容协商.这意味着客户端发送包含响应所需内容类型的Accept标头.如果服务不支持此媒体类型,则应使用状态代码406(不可接受)进行响应.
我尝试将此行为映射到ASP.NET Core.如果ASP.NET核心无法识别Accept标头中的媒体类型,则它将返回JSON文档.在框架的先前版本中,可以通过向配置添加特殊输出格式化程序来实现上述行为: public void ConfigureServices(IServiceCollection services) { services.AddMvc(options => { options.OutputFormatters.Insert(0,new HttpNotAcceptableOutputFormatter()); }); } 不幸的是,在RC1之后,HttpNotAcceptableOutputFormatter已从ASP.NET Core框架中删除.在当前版本的框架中是否有替代此类? 解决方法
在这种情况下,最好找到删除功能的提交,以查看它可能被替换的内容.在这种情况下,使用
this commit删除了HttpNotAcceptableOutputFormatter以修复
issue #4612:
它被替换为 所以你的代码应该是这样的: services.AddMvc(options => { options.ReturnHttpNotAcceptable = true; }); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – 如何使用app_start或webactivator注册区域?
- asp.net-mvc – ASP.net MVC – 为一个用户/角色授权控制器
- asp.net-mvc – Visual Studio 2010是否支持MVC 5?
- 对asp.net网站进行基准测试,我可以使用jmeter吗?
- asp.net – 在另一个控件之前插入控件
- asp.net-mvc – 获取索引值razor foreach
- asp.net-mvc-3 – 从自定义授权属性访问角色
- 获取asp.net中的上一页名称
- asp.net-mvc – 在MVC中使用ViewBag坏?
- ASP.Net下拉列表始终返回按钮单击事件的第一个值