ASP.NET Core MVC配置与JSON序列化

本文介绍ASP.NET Core中MVC配置的细节,特别是如何通过设置RespectBrowserAcceptHeader来响应不同浏览器的请求,以及如何自定义JSON序列化选项以优化前后端分离项目的JSON格式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MVC配置

在ConfigureServices方法中可以调用AddMvc(options)设置options,其中有个配置是options.RespectBrowserAcceptHeader = true

它有如下作用:默认情况下,后台会忽略浏览器传来的AcceptHeader并返回应用程序默认的格式(对于Api而言就是JSON),这样一来,当使用不同的浏览器消费API时会获得一样的体验。

而如果你希望你的应用程序有限考虑浏览器的Accept头,你就可以RespectBrowserAcceptHeader设置为true。

这里的Accept头指的就是Http协议中的Accept头。

例如: accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8

参考:ASP.NET Core 中文文档 第四章 MVC(2.3)格式化响应数据

 

JSON序列化

当项目需要采用前后端分离的方式就需要考虑到JSON格式的问题了,ASP.NET Core已经为我们考好了。

在ConfigureService方法中调用AddMvc().AddJsonOptions()方法就可以对JSON格式进行配置。

例如:

            services.AddMvc().AddJsonOptions(options => {

                //设置不使用驼峰格式处理,由后台字段确定大小写

                options.SerializerSettings.ContractResolver = new DefaultContractResolver();

                //不返回值为NULL的属性

                options.SerializerSettings.NullValueHandling = NullValueHandling.Ignore;

            });

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值