控制器操作错误的 Swagger 响应属性

Swagger Response Attributes for Controller Action Errors

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

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

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

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

NotFound("No configuration found")

但是在 UI 我得到这个:

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

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

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

使用 net5.0 这对我有用:

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

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