在指定其他响应类型时自动生成默认的 200 OK 响应

Automatically generate default 200 OK response while specifying other response types

根据#216,Swashbuckle 将自动生成一个 200 成功响应作为默认行为,否则需要指定所有响应类型。

我希望能够在 XML 评论中为某些端点添加 404/400 错误响应,同时为所有端点保留 200 个成功响应,包括具有 404/400 错误响应的端点.

是否可以让 Swashbuckle 继续为所有端点自动生成 200 成功响应,即使指定了错误响应?

编辑:我添加了一个操作过滤器以编程方式添加缺失的 200 个响应,解决了缺失的模型模式,但仍然没有真正回答我最初的问题,即是否有办法让 Swashbuckle 自动生成 200 个响应成功回应

class CustomOperationFilter : IOperationFilter
{
    public void Apply(Operation operation, SchemaRegistry schemaRegistry, ApiDescription apiDescription)
    {
        var responses = operation.responses;
        if (responses.ContainsKey("404") || responses.ContainsKey("400"))
        {
            responses.Add("200", new Response()
            {
                description = "OK",
                schema = (schemaRegistry.GetOrRegister(apiDescription.ActionDescriptor.ReturnType))
            });
        }
    }
}

这是一种解决方法,可以将缺少的 200 个成功响应添加到具有指定错误响应的端点:

class CustomOperationFilter : IOperationFilter
{
    public void Apply(Operation operation, SchemaRegistry schemaRegistry, ApiDescription apiDescription)
    {
        var responses = operation.responses;
        if (!responses.ContainsKey("200"))
        {
            if (apiDescription.ActionDescriptor.ReturnType != null)
            {
                responses.Add("200", new Response()
                {
                    description = "OK",
                    schema = (schemaRegistry.GetOrRegister(apiDescription.ActionDescriptor.ReturnType))
                });
            }
        }
    }
}