![](/img/trans.png)
[英]JSON returntype sending NULL to JSON response for navigational properties (Asp.Net Core 3)
[英]Json Properties Null - ASP.NET Core
我有以下型号
public class SocioEconomicStudy : BaseModel
{
public string Folio { get; set; }
public string Craft { get; set; }
public string RequestType {get;set;}
}
然后我发送以下json
{
"folio" : "folio",
"craft" : "craft,
"request_type": "request_type"
}
但是,当收到带下划线的属性为null时,我尝试使用驼峰式Pascal大小写,但是只有使用小写+下划线的情况下,没有下划线的属性才能正常工作。
控制器方式:
[HttpPost]
public void Post([FromBody] SocioEconomicStudy study)
{
var cancellationToken = new CancellationToken();
_logger.LogInformation((study != null).ToString());
_context.SocioEconomicStudyRepository.AddAsync(study, cancellationToken);
}
因此,只有没有下划线的属性才能保留,有关如何解决此问题的任何想法?
对于不遵循命名规则的属性,可以添加JsonProperty
属性,在这种情况下,您的模型应如下所示
public class SocioEconomicStudy : BaseModel
{
public string Folio { get; set; }
public string Craft { get; set; }
[JsonProperty("request_type")]
public string RequestType { get; set; }
}
将以下内容添加到Startup.cs
解决了我的问题
services.AddMvc()
.AddJsonOptions(options =>
{
options.SerializerSettings.ContractResolver = new Newtonsoft.Json.Serialization.CamelCasePropertyNamesContractResolver();
});
现在它接受驼峰式密码
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.