如何 return HttpResponseException with error specificaton (invalid username or invalid password) 到前端?

How to return HttpResponseException with error specificaton (invalid username or invalid password) to the frontend?

我如何 return 带有 "Invalid username" 之类文本的错误请求异常到 ApiController 的前端。 我的代码:

public class FrontEndController : ApiController
    {
        public string Test(string value)
        {
            if(!isValid(value))
               //how do i throw exception with its code (400 in this case) and message ("Invalid username")
        }
    }

您可以使用 HttpException and this 构造函数

throw new HttpException(400, "Invalid username")

您可以将方法 return 类型更改为 HttpResponseMessage 并使用内置 API 功能来 return 您想要的错误消息。

public class FrontEndController : ApiController
    {
        public HttpResponseMessage Test(string value)
        {
            if(!isValid(value))
              {
                 //Generate error response here
                 return Request.CreateErrorResponse(HttpStatusCode.BadRequest, "Invalid Username");
              }
        }
    }

ApiController 上有一个 BadRequest 方法:

return BadRequest("Invalid username");

这会创建一个带有指定错误消息的 ErrorMessageResult (400 Bad Request)。