环境:
.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