.net6 .net core web api json 遇到 400 错误

环境:
.net6 webapi

服务端模型声明

public class TongYiMinPgPayReq
    {

        public string mch_no { get; set; }

        public string out_trade_no { get; set; }

    }

客户端请求报文 :

{"mch_no":"307989972980027","out_trade_no":null}

向服务器请求时,就收到了:远程服务器返回错误: (400) 错误的请求。 (400 ,bad request)

解决方法:
null字段声明时加上?号。

public class TongYiMinPgPayReq
    {

        public string mch_no { get; set; }

        public string? out_trade_no { get; set; }

    }

这时候请求,服务端就能正常收到报文。

原因:可能是.NET6中强制开启了“引用类型和值类型在是否可空的性质上终于达成了一致” 这个特性。
参考:
https://blog.csdn.net/Surbowl/article/details/109024026

原文地址:https://www.cnblogs.com/runliuv/p/15768004.html