gpt4 book ai didi

asp.net-mvc-3 - 检查 ApiController 中的 ModelState

转载 作者:行者123 更新时间:2023-12-02 08:21:01 25 4
gpt4 key购买 nike

这是我的 ApiController 中的 POST 操作.

public HttpResponseMessage Post(ViewModel model)
{
if (!ModelState.IsValid)
{
var ResponseMessage = new HttpResponseMessage(HttpStatusCode.XXXXXX
return ResponseMessage;
}

if (!_service.Create(model))
{
var ResponseMessage=new HttpResponseMessage(HttpStatusCode.NotAcceptable);
return ResponseMessage;
}
else
{
return new HttpResponseMessage(HttpStatusCode.Created);
}
}

以这种方式启用服务器端模型验证可以吗?而且,我很确定 Created如果一切正常的话应该被退回。但是如果 ModelState 无效或者发生错误,我应该返回什么样的 HttpStatusCode?

最佳答案

通常应该是 400 - BadRequest

NotAcceptable 是指服务器无法满足接受 header 的情况。

PreConditionFailed 是指缓存验证条件失败。例如,如果 PUT 请求需要更新,当且仅当 ETag 与请求中的值匹配时。

<小时/>

或者,您也可以发送自定义错误。由于与Request有关,所以需要使用4xx号码:

return new HttpResponseMessage((HttpStatusCode) 499) 
{
ReasonPhrase = "Validation failed"
};

关于asp.net-mvc-3 - 检查 ApiController 中的 ModelState,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10708649/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com