ABP框架如何实现返回的 JSON 数据属性小写?
ABP(ASP.NET Boilerplate)开发框架是一种跨平台、多语言、多租户的开源企业级应用程序架构。在 ABP 的 Web API 开发中,有时候需要将后端返回的 JSON 数据的属性名改成小写字母形式,以便前端 JavaScript 可以统一处理。
ABP 提供了一个基于 Newtonsoft.Json
的序列化器,可以通过修改 ABP 框架的设置来实现 JSON 数据属性小写。具体的实现步骤如下:
//1.在 ABP 框架的启动类(WebModule.cs 或 XxxWebCoreModule.cs)中重写 UseNewtonsoftJson 方法,代码如下: public override void ConfigureServices(ServiceConfigurationContext context) { ConfigureLocalization(); ConfigureSession(context.Services); Configure(options => { options.Filters.Add(new CorsAuthorizationFilterFactory(DefaultCorsPolicyName)); options.Filters.Add(new ApiResponseFormatFilterFactory()); options.EnableEndpointRouting = false; options.RespectbrowserAcceptHeader = true; }); //重写 UseNewtonsoftJson 方法 Configure (options => { options.UseNewtonsoftJson(options => { options.SerializerSettings.ContractResolver = new DefaultContractResolver { NamingStrategy = new CamelCaseNamingStrategy() //属性小写 }; }); }); }
2.在 Web API 控制器的 Action 方法上使用 [Produces(typeof(ApiResponse))] [ApiController]
属性装饰器,如下所示:
[HttpGet] [Produces(typeof(ApiResponse))] [ApiController] public async Task<ApiResponse> GetSomething() { //... }
这样,后端返回的 JSON 数据的属性名就会变成小写字母形式,方便前端处理。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。