【发布时间】:2021-03-06 05:23:59
【问题描述】:
我有一个 web api POST Url 接收和反对
[HttpPost]
public ResultObject SaveLetter(FormModel surplusForm)
如果某个属性不在接收json上,则返回以下消息:
“在 JSON 中找不到必需的属性 'PropertyName'。路径 'SomePath'
这个属性被Required属性修饰
public class FormModel {
[Required]
public long? PropertyName{ get; set; }
///Other properties
}
我需要有我的返回消息并且需要找到不在接收json中的PropertyName,获取它的最佳方法是什么?
其实是一个exception在模型验证过程中,有没有办法在modelState出现异常时获取字段名?
【问题讨论】:
-
您可以删除
Required并在代码中检查该属性在响应中是否为null -
在这种情况下,它可以通过空值发送...在我的情况下,该属性在接收 json 时不存在。
-
然后您可以发送json字符串,将参数声明为字符串并检查属性值
标签: c# asp.net-mvc asp.net-web-api