我希望能够从我的API返回状态代码 - 424(失败的依赖关系)和422(不可处理的实体)。 我们使用自定义错误处理程序来处理错误响应,如下所示 -
public class ApiResponse
{
public string StatusCode { get; set; }
public string Message { get; set; }
public ApiResponse(int statusCode, string message = null)
{
StatusCode = GetDefaultMessageForStatusCode(statusCode);
Message = message;
}
private static string GetDefaultMessageForStatusCode(int statusCode)
{
switch (statusCode)
{
case 200:
return "Success.";
case 400:
return "Bad request.";
case 404:
return "Not Found.";
case 424:
return "Dependency Failure";
case 500:
return "An unhandled error occurred.";
default:
return null;
}
}
}
public class DependencyFailureResponse : ApiResponse
{
public DependencyFailureResponse(string message) : base(424)
{
Message = message;
}
}
当我从我的控制器调用DependencyFailureResponse时,我得到了"依赖失败"状态代码以及我的自定义meesage。 但;因为我称之为 -
return BadRequest(new DependencyFailureResponse("Custom message"));
它将始终显示为400 Bad Request
我希望能够以“#34; 400 Bad Request"不应该显示。 请帮忙!谢谢!
答案 0 :(得分:0)
BadRequest是一种将HttpStatusCode 400返回给调用者的控制器方法。 你可以尝试:
var response = new DependencyFailureResponse("Custom message");
return StatusCode(response.StatusCode, response.Message);