5

asp dotnet core 3.0 接口返回 json 使用 PascalCase 格式

 3 years ago
source link: https://lindexi.gitee.io/post/asp-dotnet-core-3.0-%E6%8E%A5%E5%8F%A3%E8%BF%94%E5%9B%9E-json-%E4%BD%BF%E7%94%A8-PascalCase-%E6%A0%BC%E5%BC%8F.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client
asp dotnet core 3.0 接口返回 json 使用 PascalCase 格式

在 asp dotnet core 3.0 默认的 webapi 返回接口都是返回 json 格式,同时这个 json 格式使用的是 CamelCase 属性名风格。如果想要兼容之前的格式,让 webapi 返回的 json 的属性名使用 PascalCase 格式,那么请看本文

默认的 ASP.NET Core 3.0 的 WebAPI 的 json 返回值的属性使用首字符小写的 CamelCase 属性名风格,可以通过在 ConfigureServices 方法配置让返回值属性使用其他风格

最简单的方法是设置 PropertyNamingPolicy 属性,请看代码

            services.AddControllers()
                .AddJsonOptions(options => options.JsonSerializerOptions.PropertyNamingPolicy = null);

另一个是通过 NewtonsoftJson 设置

首先安装 Microsoft.AspNetCore.Mvc.NewtonsoftJson

安装之后可以在 Startup.cs 文件里面的 ConfigureServices 方法添加设置

        public void ConfigureServices(IServiceCollection services)
        {
            services.AddControllers()
                .AddNewtonsoftJson(options => options.SerializerSettings.ContractResolver = new DefaultContractResolver() { NamingStrategy = new DefaultNamingStrategy() });
        }

这样默认的 json 返回值属性使用首字符大写的 PascalCase 属性名风格

使用 DefaultContractResolver 就是 PascalCase 风格

使用 CamelCasePropertyNamesContractResolver 就是 CamelCase 风格

注意,在一些版本,可以是 AddMvc 方法,请看下面

services.AddMvc()
    .AddNewtonsoftJson(options =>
           options.SerializerSettings.ContractResolver =
              new DefaultContractResolver());

Migrate from ASP.NET Core 2.2 to 3.0 Preview

Serializing a PascalCase Newtonsoft.Json JObject to camelCase


本文会经常更新,请阅读原文: https://blog.lindexi.com/post/asp-dotnet-core-3.0-%E6%8E%A5%E5%8F%A3%E8%BF%94%E5%9B%9E-json-%E4%BD%BF%E7%94%A8-PascalCase-%E6%A0%BC%E5%BC%8F.html ,以避免陈旧错误知识的误导,同时有更好的阅读体验。

如果你想持续阅读我的最新博客,请点击 RSS 订阅,推荐使用RSS Stalker订阅博客,或者前往 CSDN 关注我的主页

本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接: https://blog.lindexi.com ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请 与我联系

无盈利,不卖课,做纯粹的技术博客

以下是广告时间

推荐关注 Edi.Wang 的公众号
lindexi%2F201985113622445

欢迎进入 Eleven 老师组建的 .NET 社区
lindexi%2F20209121930471745.jpg

以上广告全是友情推广,无盈利


Recommend

  • 15
    • 微信 mp.weixin.qq.com 4 years ago
    • Cache

    dotNET Core 3.X 使用 Web API

    现在的 Web 开发大多都是前后端分离的方式,后端接口的正确使用显得尤为重要,本文讲下在 dotNET Core 3.X 下使用 Web API 。 ...

  • 14

    程序员 - @lwlizhe - 刚才有个朋友问我,发生什么事了,我说怎么回事,给我发了几张截图,我一看,嗷,原来是刚才,有一个高级后端,将业务数据做为 key 返回给我……( 咳咳,举个例子:他返回的是直

  • 9

    dotnet 新 SDK Style 项目格式如何使用 InternalsVisibleToAttribute 功能如果一个项目想要让其他某个指定的项目可以使用到 internal 的类或成员,可以通过标记 InternalsVisibleToAttribute 的方式实现 最简单的方法是新建一个 AssemblyInfo....

  • 12

    dotnet 5 从 IL 层面分析协变返回类型新特性在 C# 9.0 里面添加的一个新特性是支持协变返回类型,也就说子类重写了基类的抽象或虚拟方法,可以在返回值里面返回协变的类型,也就是返回值的类型可以是继承原本子类返回值类型的子类。本文将来从 IL 的层面和...

  • 6

    【.net 深呼吸】聊聊WCF服务返回XML或JSON格式数据 有时候,为了让数据可以“跨国经营”,...

  • 13

    大家好,我是飘渺。 今天我们来聊一聊在基于SpringBoot前后端分离开发模式下,如何友好的返回统一的标准格式以及如何优雅的处理全局异常。 首先我们来看看为什么要返回统一的标准格式? 为什么要对SpringBoot返回统一的...

  • 2

    dotnet OpenXML 读取 PPT 内嵌 ole 格式 Excel 表格的信息在 Office 中,可以在 PPT 里面插入表格,插入表格有好多不同的方法,对应 OpenXML 文档存储的更多不同的方式。本文来介绍如何读取 PPT 内嵌 ole 格式的 xls+ 表格的方法 在 Office...

  • 4

    dotnet OpenXML 读取 PPT 内嵌 xlsx 格式 Excel 表格的信息在 Office 中,可以在 PPT 里面插入表格,插入表格有好多不同的方法,对应 OpenXML 文档存储的更多不同的方式。本文来介绍如何读取 PPT 内嵌 xlsx 格式的表格的方法 读取方法和

  • 3
    • www.v2ex.com 2 years ago
    • Cache

    微服务如何统一返回格式

    V2EX  ›  Java 微服务如何统一返回格式   a1lenyang · 7 小时 40 分钟前 · 965 次...

  • 2

    在前后端分离的项目中后端返回的格式一定要友好,不然会对前端的开发人员带来很多的工作量。那么SpringBoot如何做到统一的后端返回格式呢?今天我们一起来看看。 为什么要对SpringBoot返回统一的标准格式 在默认情况下,SpringBoot的返回格式常...

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK