c# – ASP.NET Core和CreateErrorResponse
我想从我的API方法返回无效的ModelState,并尝试使用它在Web Api中:
return Request.CreateErrorResponse(HttpStatusCode.BadRequest,"Test"); 但它说,那
所以,ASP.NET Core中的内容发生了变化,我应该将HttpRequestMessage作为第一个参数包含在内.但是如何创建它以及为什么它必须作出回应呢? 编辑: 我发现,以下代码可以返回无效模型: return HttpBadRequest(ModelState); 但无论如何,想要知道灵活的方法来返回我自己的错误响应. 解决方法
我发现mono还没有实现这些; System.Web.Http / HttpRequestMessageExtensions将扩展方法添加到System.Net.Http.你可以自己做
namespace System.Web.Http { public static class ApiControllerExtensions { [System.Xml.Serialization.XmlRoot(ElementName = "Error",Namespace = "")] public class ErrorResponse { public string StatusCode { get; set; } public string Message { get; set; } } public static HttpResponseException CreateErrorResponseException(this ApiController controller,HttpStatusCode statusCode,string message) { ErrorResponse error = new ErrorResponse() { StatusCode = (int)statusCode + ": " + statusCode.ToString(),Message = message }; HttpResponseMessage responseMessage = controller.Request.CreateResponse(statusCode,error,controller.Request.GetConfiguration()); return new HttpResponseException(responseMessage); } } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |