首页 > 解决方案 > 控制器操作错误的 Swagger 响应属性

问题描述

我正在努力SwaggerResponse使用我的 web api 中的控制器操作错误来查找属性的一些示例C#,例如NotFound()等。

我的控制器方法上有这个属性:

[SwaggerResponse(404, "Requested application not found", Type = typeof(NotFoundResult))]

在控制器方法中,我有这个:

NotFound("No configuration found")

但是在用户界面中我得到了这个:

404

我希望它至少会显示 json 中的代码而不是0

在 UI 中唯一看起来合理的是200响应,List<settings>它显示列表,但不显示示例。

标签: swagger-uiswashbuckle

解决方案


在最终得到正确的搜索词之后,我在这里找到了一个答案,它实际上将错误模型全部抑制在一起,这比在您的文档中包含上述内容要好。

使用net5.0它对我有用:

// add controllers with swagger
services.AddControllers(x => x.Conventions.Add(new ApiExplorerVersionConvention()))
    .ConfigureApiBehaviorOptions(x => { x.SuppressMapClientErrors = true; });

有关旧 .Net 版本的更多信息,请参见此处:

隐藏 .net 2.2 的 Swagger 错误响应


推荐阅读