如何避免将null实体对象传递给web api方法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何避免将null实体对象传递给web api方法相关的知识,希望对你有一定的参考价值。
我有以下web api方法如下
public bool UpdateValidations([FromBody] ValidationKeyEntity validationKey)
{
if (ModelState.IsValid)
{
//my code here
}
}
public class ValidationKeyEntity
{
public int ValidationKeyId { get; set; }
[MaxLength(Constants.maxStringLength)]
public string Name { get; set; }
public int DisplayId { get; set; }
[MaxLength(Constants.maxStringLength)]
public string CreatedBy { get; set; }
}
我正在使用Postman进行测试。我传递的不同json比ValidationKeyEntity对象为{“Vishal”:“vishal”}作为参数。但我的ModelState.IsValid仍然返回true。
如何避免接受除“ValidationKeyEntity”对象之外的其他json对象?
答案
- 使用RequiredAttribute将属性标记为
required
:public class ValidationKeyEntity { [Required] public int ValidationKeyId { get; set; } [Required] public string Name { get; set; } [Required] public int DisplayId { get; set; } [Required] public string CreatedBy { get; set; } }
- 全球设置MissingMemberHandling以处理废物属性:
var httpConfiguration = new HttpConfiguration(); httpConfiguration .Formatters .JsonFormatter .SerializerSettings .MissingMemberHandling = MissingMemberHandling.Error;
以上是关于如何避免将null实体对象传递给web api方法的主要内容,如果未能解决你的问题,请参考以下文章
如何将json POST数据作为对象传递给Web API方法?