Gar*_*ely 49 c# http-status-code-404 asp.net-web-api
我正在使用WebAPI 2中的服务,端点当前返回一个IHttpActionResult
.我想返回一个状态代码422
,但因为它不在HttpStatusCode
枚举中,所以我不知道如何发送它,因为所有的构造函数都需要一个参数HttpStatusCode
现在,我正在回归BadResult(message)
,但返回422
+消息对我的客户来说会更具描述性和实用性.有任何想法吗?
lil*_*cob 79
根据C#规范:
枚举类型可以采用的值集不受其枚举成员的限制.特别是,枚举的基础类型的任何值都可以强制转换为枚举类型,并且是该枚举类型的唯一有效值
因此,您可以将状态代码422转换为HttpStatusCode.
示例控制器:
using System.Net;
using System.Net.Http;
using System.Web.Http;
namespace CompanyName.Controllers.Api
{
[RoutePrefix("services/noop")]
[AllowAnonymous]
public class NoOpController : ApiController
{
[Route]
[HttpGet]
public IHttpActionResult GetNoop()
{
return new System.Web.Http.Results.ResponseMessageResult(
Request.CreateErrorResponse(
(HttpStatusCode)422,
new HttpError("Something goes wrong")
)
);
}
}
}
Run Code Online (Sandbox Code Playgroud)
小智 23
return Content((HttpStatusCode) 422, whatEver);
Run Code Online (Sandbox Code Playgroud)
credit是for:使用IHttpActionResult返回内容以获得非OK响应
并且您的代码必须<= 999
请忽略100到200之间的代码.
归档时间: |
|
查看次数: |
38790 次 |
最近记录: |