我正在处理WebAPI 2中的一个服务,端点当前返回一个IHttpActionResult
。我想返回一个状态代码422
,但是因为它不在HttpStatusCode
枚举中,所以我不知道如何发送它,因为所有的构造函数都需要一个HttpStatusCode
参数
现在,我返回的是BadResult(message)
,但是返回422
+消息会更具描述性,对我的客户也更有用。有什么想法吗?
发布于 2016-07-04 11:23:35
return Content((HttpStatusCode) 422, whatEver);
致谢:Return content with IHttpActionResult for non-OK response
您的代码必须为<= 999
请忽略100到200之间的代码。
发布于 2017-08-17 01:24:12
我用这种方式简单而优雅。
public ActionResult Validate(User user)
{
return new HttpStatusCodeResult((HttpStatusCode)500,
"My custom internal server error.");
}
然后是角度控制器。
function errorCallBack(response) {
$scope.response = {
code: response.status,
text: response.statusText
}});
希望能对你有所帮助。
发布于 2019-08-08 02:41:39
另一个简化的例子:
public class MyController : ApiController
{
public IHttpActionResult Get()
{
HttpStatusCode codeNotDefined = (HttpStatusCode)422;
return Content(codeNotDefined, "message to be sent in response body");
}
}
Content
是在抽象类ApiController
中定义的虚拟方法,该类是控制器的基础。声明如下:
protected internal virtual NegotiatedContentResult<T> Content<T>(HttpStatusCode statusCode, T value);
https://stackoverflow.com/questions/23399272
复制相似问题