header - Springdoc:排除某些端点的自定义全局 header 参数

标签 header springdoc

如果我创建一个向所有端点添加新的全局自定义 header 参数的 OperationCustomizer,我该如何为较小的不适用端点子集添加排除列表?

@Bean
    public OperationCustomizer customize() {
        return (operation, handlerMethod) -> operation.addParametersItem(
                new Parameter()
                        .in("header")
                        .required(true)
                        .schema(new StringSchema())
                        .description("Customer Header Parameter")
                        .name("custom-header-parameter"));
    }

最佳答案

您可以使用OpenApiCustomiser,它在所有OperationCustomizer之后调用。

以下是您可以修改的示例代码:

@Bean
public OpenApiCustomiser customerGlobalHeaderOpenApiCustomiser() {
    return openApi -> openApi.getPaths().values().stream().flatMap(pathItem -> pathItem.readOperations().stream())
            .forEach(operation -> {
                        // remove the global header only for operationid = search
                        if ("search".equals(operation.getOperationId())) {
                            operation.getParameters().removeIf(parameter1 -> "custom-header-parameter".equals(parameter1.getName()));
                        }
                    }
            );
}

关于header - Springdoc:排除某些端点的自定义全局 header 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61217746/

相关文章:

html - 我的 heading3 左侧和右侧的图像

c++ - 如何在没有cpp文件的情况下使用头文件

使用 Spring 自定义解析器注释的 Swagger OpenApi 动态查询参数名称

java springdoc @ApiResponses 如何定义一个列表作为返回对象使用

spring-boot - SpringDoc - 如何以编程方式添加模式

java - 为什么在 Maven 中添加依赖项会触发功能?

wordpress - 恢复 wordpress 删除的菜单

C++ 将类型映射到它的头文件

http - 自定义 HTTP 授权 header

java - 为什么 RouterFunctions.DefaultRouterFunction<T extends ServerResponse> 类中的谓词字段会获取 DefaultErrorWebExceptionHandler?