0

を使用していspringdoc-openapi-uiます。という名前のグローバル ヘッダーを構成しましたAuthorization。API を実行するAuthorizationと、リクエストの CURL に表示されません。私の他のパラメータは、を除いてCURLに表示されていますAuthorization

以前は を使用してspringfox-swagger-uiいましたが、そのときは CURL セクションに表示されていました。

私は同じものを検索し、https://swagger.io/docs/specification/describing-parameters/#header-parametersに関するメモを見つけました Note: Header parameters named Accept, Content-Type and Authorization are not allowed.

Authorizationしかし、ヘッダーとしてのみ使用するという私の要件。これを達成できる距離はありますか?

SwaggerConfigurationは以下に追加されます。

@Configuration
public class SwaggerConfiguration {

    @Value("${title:title}")
    private String title;
    @Value("${description:description.}")
    private String description;
    @Value("${version:0.0.1}")
    private String version;

    @Value("${schemeId}")
    String schemeIdentifier;

    @Bean
    public OperationCustomizer customGlobalHeaders() {

        return (Operation operation, HandlerMethod handlerMethod) -> {

            Parameter authorization = new Parameter().in(ParameterIn.HEADER.toString()).name("Authorization")
                    .description("Authorization details JWT token")
                    .schema(new StringSchema()).required(true);

            Parameter applicationId = new Parameter().in(ParameterIn.HEADER.toString()).schema(new StringSchema())
                    .name("Application-Id").description("Originating application or client using the service")
                    .required(false);

            operation.addParametersItem(authorization);
            operation.addParametersItem(applicationId);

            return operation;
        };
    }

    @Bean
    public GroupedOpenApi adminApi() {      

        String[] packagesToscan = { "abc.controller" };

        return GroupedOpenApi.builder().setGroup("Client").packagesToScan(packagesToscan).build();
    }

    @Bean
    public OpenAPI customOpenAPI() {
        return new OpenAPI().info(new Info().title(title).version(version).description(description))
                .components(new Components());
    }
}
4

1 に答える 1