我用的是ASP.NET WebAPI2。这是我的密码:
[HttpPost]
public HttpResponseMessage SaveNewPdf(HttpRequestMessage req)
{
var json = req.Content.ReadAsStringAsync().Result;
NewFile newFile = JsonConvert.DeserializeObject<NewFile>(json);
string error = string.Empty;
// check all the foreign key values to ensure they are valid
var isArticleCategoryValid = HelperClasses.ForeignKeyChecks.IsArticleCategoryValid(newFile.ArticleCategory);
var isDocumentTypeValid = HelperClasses.ForeignKeyChecks.IsDocumentTypeValid(newFile.DocumentType);
var isActionPublisherValid = HelperClasses.ForeignKeyChecks.IsActionPublisherValid(newFile.ActionPublisher);
var isRuleComplianceValid = HelperClasses.ForeignKeyChecks.IsRuleComplianceValid(newFile.RuleCompliance);
if (!isArticleCategoryValid)
{
error = "articleCategory in the JSON is not a valid Article Category";
return new HttpResponseException();
}
}我想做上面所示的事情--返回一个指示错误的异常。我知道我可以用我想要的状态代码返回一个HttpResponseMessage,但是我想返回一个异常。我知道HttpResponseException,但这需要一个HttpResponseMessage,所以我回到了起点。是否可能返回异常?
发布于 2014-03-13 15:28:54
您需要抛出一个具有正确创建的HttpResponseException的ErrorResponse,如下所示:
throw new HttpResponseException(Request.CreateErrorResponse(
HttpStatusCode.BadRequest, // Use the right status code
"OMG, I like totally FAILED."));https://stackoverflow.com/questions/22383338
复制相似问题