asp.net-web-api2 - Swashbuckle Swagger-如何注释内容类型?

标签 asp.net-web-api2 swagger-2.0 swashbuckle

如何注释ASP.NET WebAPI操作,以使庞大的元数据包含资源支持的内容类型?

具体来说,我希望文档显示我的资源之一可以返回“原始” application/jsonapplication/xml,但现在还可以返回新格式application/vnd.blah+json+xml

最佳答案

您需要做的是这个;
摇摇规格:
您需要将响应类型添加到该操作的响应类型列表中:

"produces": [
            "application/json",
            "text/json"
            ],
这可以通过OperationFilter来完成。
伪代码传入!!!
public class CustomResponseType : IOperationFilter
{        
    public void Apply(Operation operation, SchemaRegistry schemaRegistry, ApiDescription apiDescription)
    {            
            if (operation.operationId == "myCustomName")
            {
                operation.produces.Add("application/vnd.blah+json");
            }            
    }      
}
可以通过[SwaggerOperation("myCustomName")]注释设置OperationId。
然后在swaggerConfig.cs中应用operationsFilter:
c.OperationFilter<CustomResponseType>();
注意:
代替operation.operationId == "myCustomName"您可以针对特定路线或其他任何方式进行操作。 ApiDescription提供了许多有关上下文的信息。

关于asp.net-web-api2 - Swashbuckle Swagger-如何注释内容类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34990291/

相关文章:

c# - 示例请求正文中 JsonPatchDocument 的 Swagger 意外 API PATCH 操作文档

javascript - 提示文件下载

swagger-2.0 - 从 springfox swagger2 迁移到 springdoc openapi

swagger - 从 Scala 源代码 (http4s) 生成 Swagger/OpenAPI 规范

java - Spring boot 上的 Swagger - 如何为需要参数的 POST 方法设置示例值?

asp.net-core - Auth0 + Swashbuckle .Net Core 2.2。使用 SwaggerUI 时缺少 jwt token 中的声明

asp.net-web-api2 - 使用 swashbucle 启用 swagger 时出错

jquery - 将多个复选框值保存到 sql 数据库

c# - Swashbuckle:具有相同状态代码但不同描述/模型的多个 [SwaggerResponse]

c# - WebAPI Controller 中的 ConfigureAwait(false)