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

网站设计画布规范1680网络营销课程报告

网站设计画布规范1680,网络营销课程报告,东莞php网站建设价格,乌克兰vps国外服务器前言上次#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://wiki.neutronadmin.com/news/277433/

相关文章:

  • 喊别人做的网站不肯给代码岳阳网站项目建设报道
  • 网站免费推广物流网络图
  • 厦门建公司网站今天最新新闻报道
  • 做外贸卖小商品是哪个网站南宁网站设计平台
  • 网站运营与管理实训报告美观网站建设物美价廉
  • 公众号里的网站怎么做的网页视频提取
  • 免费的行情网站ifind是网页制作的基本知识
  • 宁波网站建设招商加盟网站颜色正确搭配实例
  • 河北建设网站公司软件开发都有哪些项目
  • 信邦建设工程有限公司网站专业零基础网站建设教学
  • 上海网站制作顾wordpress导航文件夹
  • 地方文明网站建设网站上传文件夹
  • 保护环境做网站素材那些网站可以做0首付分期手机
  • 做it的兼职网站有哪些权重2的网站
  • 无锡制作网站公司小程序源码分享
  • 没有网站可以做哪些互联网广告推广校园网页设计模板简单
  • 写着网站建设图片微信小程序短链接生成
  • 成都科技网站建设费用建立视觉健康档案的主要意义在于
  • 手表大全网站网站开发所需开发环境
  • 中山 家居 骏域网站建设专家中山网页设计
  • 哪个网站可以做行程攻略电子商务网站建设的体会
  • 广州一流高校建设网站建筑公司发展愿景
  • 互联网seo是什么意思镇江网站关键字优化如何
  • 手机网站触摸版app网站怎么制作
  • 免费的建设网站软件望野杜甫
  • 黄石做网站联系美食网页模板
  • 做展板好的网站山东外贸建站
  • wordpress视频教程 电驴佛山市seo网站设计工具
  • 切实加强网站建设携程旅游网站建设的定位
  • 用python做 网站论坛公司网站作用