首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Swagger不显示真正的错误消息

Swagger不显示真正的错误消息
EN

Stack Overflow用户
提问于 2017-12-15 06:41:43
回答 2查看 2.4K关注 0票数 2

我们使用的是.NET WebAPI框架,我们在web api之上使用swagger进行注释和开箱即用的UI体验。到目前为止,它一直运行得很好。但是,当我从WebAPI(Http 400)返回如下代码的错误时:

return BadRequest("Some error");

然而,当我这样做时,Swagger似乎不能正确地解析错误。基本上,它显示response 0。这肯定是错误的,因为当我转到Chrome DevTools时,我看到我的请求的响应是HTTP400,正如我所期望的那样。

如何配置Swagger,使其能够正确显示错误?或者我应该以不同的方式抛出我的错误,以便能够在swagger中看到它?

EN

回答 2

Stack Overflow用户

发布于 2017-12-22 05:13:31

您可以像这样注释您的操作

代码语言:javascript
运行
复制
[ProducesResponseType(typeof(ResponseObjectTypeHere), 200)]
[ProducesResponseType(typeof(ErrorResponseObjectTypeHere), 400)]

如果启用swagger来读取和使用xml文档,还可以在xml文档中添加类似下面这样的内容

代码语言:javascript
运行
复制
/// <response code="200">Description</response>
/// <response code="400">Description of error</response>

我在带有swagger的.net核心web api项目中使用了这些,对于常规的.net web api项目也应该是一样的。

票数 2
EN

Stack Overflow用户

发布于 2020-03-29 22:04:39

您可以通过在***.Web.Core模块中启用其中一个ABP的配置(SendAllExceptionsToClients),将异常详细信息发送给客户端,如下所示:

代码语言:javascript
运行
复制
public override void PreInitialize()
{   
    if (_env.EnvironmentName.ToLower() == "development")
        Configuration.Modules.AbpWebCommon().SendAllExceptionsToClients = true;
}

然后,您将获得客户端上的异常详细信息。建议仅在开发过程中使用。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47823228

复制
相关文章

相似问题

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