我们使用.NET WebAPI框架,我们在web api上使用swagger进行注释和开箱即用的UI体验。到目前为止,它一直运作良好。但是,当我从WebAPI(Http 400)返回错误时,如下代码:
return BadRequest("Some error");
但是,当我这样做时,似乎Swagger无法正确解析错误。它基本上,显示response 0
。这肯定是错的,因为当我去Chrome DevTools
时,我看到我的请求得到了我预期的HTTP 400响应。
如何配置Swagger以便能够正确显示错误?或者我应该稍微改变一下我的错误,以便能够在招摇中看到它?
您可以像这样注释您的行为
[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项目也应该是相同的。