c#-从Web API 2端点返回自定义HTTP状态代码
我正在使用WebAPI 2中的服务,并且端点当前返回IHttpActionResult。我想返回状态码BadResult(message),但是由于它不在422枚举中,所以我不知所措 发送,因为所有构造函数都需要一个HttpStatusCode参数
就目前情况而言,我将返回BadResult(message),但是返回422 +消息对我的客户来说更具描述性和实用性。 有任何想法吗?
5个解决方案
78 votes
根据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.