我有一个使用" Azure API应用预览的ASP.net Web API"我正在部署到Azure API应用程序的Visual Studio 2015中的模板。
在我的应用程序中,我正在使用model attribute validation和this文章中描述的操作过滤器,在所有进入的http请求中调用ModelState.isValid
,并返回错误的模型状态一个http 400响应。
这一切都在本地完美运行,实际上在部署到Azure网站时,但是当将相同的代码部署到Azure API APP时,请求似乎被重新包装在新的响应中(见下文,它似乎将状态和源字段添加到json)并从请求中删除模型状态错误的结果。
有没有办法可以强制API应用程序将这些包含在重新包装的响应中,或者这确实是一个错误?没有潜在错误的400响应对任何API用户都没有多大用处。 I have seen others over on MSDN forums with the same issue.
本地结果& Azure网站上的结果
HTTP/1.1 400 Bad Request
{
"Message":"The request is invalid.",
"Errors":
{
"InitialAmount":["The value 'a' is not valid for InitialAmount.",
"The InitialAmount field is required."]
}
}
结果Azure Api应用
HTTP/1.1 400 Bad Request
{
"status": 400,
"source": "https://MYAPIAPP.azurewebsites.net/api/Test?InitialAmount=a",
"message": "The request is invalid."
}