Swagger没有显示真正的错误消息

问题描述 投票:1回答:1

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

return BadRequest("Some error");

但是,当我这样做时,似乎Swagger无法正确解析错误。它基本上,显示response 0。这肯定是错的,因为当我去Chrome DevTools时,我看到我的请求得到了我预期的HTTP 400响应。

如何配置Swagger以便能够正确显示错误?或者我应该稍微改变一下我的错误,以便能够在招摇中看到它?

asp.net-web-api swagger swagger-ui
1个回答
2
投票

您可以像这样注释您的行为

[ProducesResponseType(typeof(ResponseObjectTypeHere), 200)]
[ProducesResponseType(typeof(ErrorResponseObjectTypeHere), 400)]

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

/// <response code="200">Description</response>
/// <response code="400">Description of error</response>

我在.net核心web api项目中使用swagger的那些,对于常规.net web api项目也应该是相同的。

© www.soinside.com 2019 - 2024. All rights reserved.