我在我的模型上使用[DataMember(Name="property_name")]
属性,这些属性用[DataContract]
修饰。除此之外,我在每个必需属性上使用[Required]
属性进行验证。我有一个注册的ActionFilterAttribute
,它会检查ModelState.IsValid
是否会产生错误响应:
public override void OnActionExecuting(HttpActionContext actionContext)
{
if (!actionContext.ModelState.IsValid)
{
actionContext.Response = actionContext.Request.CreateErrorResponse(HttpStatusCode.BadRequest, actionContext.ModelState);
}
}
这一切都运行良好,但是没有在响应对象中返回DataMember名称:
{
"Message": "The request is invalid.",
"ModelState": {
"f.Message": [
"The Message field is required."
],
"f.AppVersion": [
"The AppVersion field is required."
]
}
}
在上面的示例中,您可以看到DataMember Name被忽略。我正在寻找的是更多类似的回应:
{
"Message": "The request is invalid.",
"ModelState": {
"f.message": [
"The message field is required."
],
"f.app_version": [
"The app_version field is required."
]
}
}
即。使用与我的DataMember名称匹配的属性名称而不是实际的类声明。
任何指导都将不胜感激
非常感谢