强制CamelCase在ASP.NET WebAPI每个控制器
发布时间:2020-12-15 18:37:54 所属栏目:asp.Net 来源:网络整理
导读:在ASP.NET WebAPI中,我知道您可以设置默认的json格式化程序以使用global.aspx中使用 CamelCasePropertyNamesContractResolver()的骆驼案例,这将强制所有json序列化为骆驼案例。 但是,我需要将其设置为“Per Controller”实例,而不是Global解决方案。 这
在ASP.NET WebAPI中,我知道您可以设置默认的json格式化程序以使用global.aspx中使用
CamelCasePropertyNamesContractResolver()的骆驼案例,这将强制所有json序列化为骆驼案例。
但是,我需要将其设置为“Per Controller”实例,而不是Global解决方案。 这可能吗? 解决方法
感谢@KiranChalla我能够比我想象的要容易得多。
这是我创建的非常简单的类: using System; using System.Linq; using System.Web.Http.Controllers; using System.Net.Http.Formatting; using Newtonsoft.Json.Serialization; public class CamelCaseControllerConfigAttribute : Attribute,IControllerConfiguration { public void Initialize(HttpControllerSettings controllerSettings,HttpControllerDescriptor controllerDescriptor) { var formatter = controllerSettings.Formatters.OfType<JsonMediaTypeFormatter>().Single(); controllerSettings.Formatters.Remove(formatter); formatter = new JsonMediaTypeFormatter { SerializerSettings = {ContractResolver = new CamelCasePropertyNamesContractResolver()} }; controllerSettings.Formatters.Add(formatter); } } 然后只需将属性添加到您想要的CamelCase的任何Controller类。 [CamelCaseControllerConfig] (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – 在ASP.NET MVC组织帐户中访问Azure AD Grap
- entity-framework – EF Core:内置Created和Edited时间戳
- asp.net-mvc – ASP.NET MVC Html.DropDownList由Ajax调用控
- asp.net – 更新ValidationSummary列表控件模糊?
- ASP.NET Webforms,用户控件中的JavaScript
- 在Asp.net中运行外部可执行文件的内存限制
- asp.net-mvc – 单元测试适配器抛出异常:无法在ASP.NET MV
- asp.net – 3层架构 – 需要一个例子
- asp.net-mvc – 登录MVC3中的Razor视图
- 用ADO.NET处理层次数据
推荐文章
站长推荐
- asp.net-core – “如果从deploy文件夹运行,则需
- ASP.NET MVC – 将XHTML添加到验证错误消息中
- 编辑资源文件而不重新编译ASP.NET应用程序
- 使用Azure ACS时无法从Active Directory注销
- 在ASP.NET MVC 3中上载大于2GB的文件
- 如何配置ASP.NET MVC项目以使用Boo
- asp.net-mvc – 由于已知在Cross Site Scripting
- UpdatePanel里面的ASP.NET Repeater,需要创建Pos
- asp.net-mvc – 将Elmah与WebApi一起使用时会记录
- asp.net-mvc – 使用ASP.NET MVC响应HTTP HEAD请
热点阅读