当前位置: 首页 > news >正文

网站seo诊断湖南岚鸿诊断中山手机网站建设价格

网站seo诊断湖南岚鸿诊断,中山手机网站建设价格,百度推广网站建设费,网页设计与制作的理解前言上次#xff0c;我们用客户就要求API的返回值属性名必须是PascalCase#xff08;如UserName#xff09;#xff0c;但是这些API需要同时提供给内部系统使用#xff0c;默认都是CamelCase#xff08;如userName#xff09;。其实#xff0c;返回的都是JSON格式… 前言上次我们用客户就要求API的返回值属性名必须是PascalCase如UserName但是这些API需要同时提供给内部系统使用默认都是CamelCase如userName。其实返回的都是JSON格式只是写入属性名的大小写不一样。那么直接修改JSON格式化实现应该也是可行的问题在ASP.NET Core 3.0或更高版本中默认JSON格式化程序基于 System.Text.Json可以配置Microsoft.AspNetCore.Mvc.JsonOptions.JsonSerializerOptions实现自定义功能。比如设置返回值属性名是PascalCase格式public void ConfigureServices(IServiceCollection services) {services.AddControllers().AddJsonOptions(options  options.JsonSerializerOptions.PropertyNamingPolicy  null); }但是这种只能实现固定设置不能满足不同请求返回不同格式的需求。这时我们可以利用Newtonsoft.Json实现更灵活的配置。添加Newtonsoft.Json支持引用nuget包Microsoft.AspNetCore.Mvc.NewtonsoftJson并修改Startup.cs代码如下public void ConfigureServices(IServiceCollection services) {...services.AddControllers().AddNewtonsoftJson(options {options.SerializerSettings.ContractResolver  new MyCustomContractResolver();}); }使用自定义类MyCustomContractResolver格式化JSON。MyCustomContractResolver实现MyCustomContractResolver实现代码如下public class MyCustomContractResolver : DefaultContractResolver {private CamelCaseNamingStrategy _camelCase  new CamelCaseNamingStrategy();public override JsonContract ResolveContract(Type type){return CreateContract(type);}protected override string ResolvePropertyName(string propertyName){if (GetFormat()  json2){return propertyName;}return _camelCase.GetPropertyName(propertyName, false);}private string GetFormat(){Microsoft.Extensions.Primitives.StringValues headerValues;if (AppContext.Current.Request.Headers.TryGetValue(x-format, out headerValues)){return headerValues.FirstOrDefault();}return json;} }默认的ResolveContract缓存了指定类型的格式化设置以加快运行速度不能满足不同请求对同一类型执行不同的格式化要求。因此为演示方便这里去掉了缓存你也可以实现自定义缓存GetFormat是判断当前请求格式化方式的自定义方法。为演示方便这里判断的是x-format Header你也可以改成其他方式比如根据当前用户凭证进行判断AppContext.Current是对当前请求的HttpContext的封装结论最后分别发送请求运行效果如下图使用x-format Header不使用x-format Header完全满足了要求只需要客户在每个API请求加上x-format Header即可。如果你觉得这篇文章对你有所启发请关注我的个人公众号”My IO“记住我
http://www.zqtcl.cn/news/100712/

相关文章:

  • 做影视网站需要多少钱2003网站建设
  • 河南智能网站建设哪家好重庆在建工程项目
  • 爱站网站长工具网站查看空间商
  • 网站营销活动页面制作wordpress 只显示一个主题
  • 电子网站建设怎么做秦皇岛网站制作公司
  • 网站建站模板样例平台推广怎么做
  • 网站建设首选亿企联盟做网站宣传有用吗
  • 网站建设公司行业苏州高端网站建设咨询
  • 电商平台网站开发过程江苏省建设科技发展中心网站简介
  • 空间租用 网站开发重庆手机网站推广资料
  • 新余 网站建设网站建设行业新闻
  • 做301网站打不开网上智慧团建网站
  • 四川省住房与城乡建设厅官方网站免费域名解析ip
  • 芜湖网站建设价格这么做网站原型图
  • 做传奇网站怎么弄的南京微网站开发
  • 网站建设基础教程人教版网站域名选择的原则
  • u盘做网站网站建设公司公司介绍
  • 嘉兴网站排名优化报windows wordpress 轻量级
  • html5网站开发方案海珠网站建设公
  • 津做网站建筑网课平台
  • 佛山制作手机网站汕头网站定制
  • 网站域名解释怎么做济南集团网站建设
  • 网站怎么做咨询网站开发商
  • 建立网站的第一步网站的管理系统
  • 安远做网站做宣传册网站
  • 网站建设概况君隆网站建设
  • 富源县住房和城乡建设局网站备案信息 网站名
  • 做门窗的网站宁波附近的seo推广
  • 上海网站建设解决方案怎样设计网站
  • 龙华建站公司seo研究中心怎么样