首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >返回HttpResponseMessage的方法--如何返回异常,这可能吗?

返回HttpResponseMessage的方法--如何返回异常,这可能吗?
EN

Stack Overflow用户
提问于 2014-03-13 15:27:28
回答 1查看 308关注 0票数 0

我用的是ASP.NET WebAPI2。这是我的密码:

代码语言:javascript
复制
[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,所以我回到了起点。是否可能返回异常?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-13 15:28:54

您需要抛出一个具有正确创建的HttpResponseException的ErrorResponse,如下所示:

代码语言:javascript
复制
throw new HttpResponseException(Request.CreateErrorResponse(
    HttpStatusCode.BadRequest, // Use the right status code
    "OMG, I like totally FAILED."));
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22383338

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档