Quarkus中如何在Rest Client的YAML配置里设置自定义请求头
解决Quarkus OpenAPI生成Rest Client自定义请求头配置不生效的问题
核心问题排查与修正
确认客户端配置键一致性
OpenAPI生成的Rest Client接口必须带有@RegisterRestClient(configKey = "my-client-name")注解,其中configKey的值要和配置文件中的my-client-name完全匹配。如果生成的接口未指定该值或名称不匹配,配置的请求头不会被应用。修正YAML配置的拼写与格式
你的配置存在拼写错误(headaer-name应为正确的请求头名称,比如api-key),同时要保证YAML缩进规范(每层级使用2个空格)。正确配置示例:quarkus: rest-client: my-client-name: url: https://api.com headers: api-key: your-actual-api-key-value确保生成Reactive类型客户端
由于你引入了quarkus-rest-client-reactive-jackson依赖,需保证OpenAPI生成器输出Reactive版本的Rest Client。可在Maven插件配置中明确指定生成器类型:<build> <plugins> <plugin> <groupId>io.quarkiverse.openapi.generator</groupId> <artifactId>quarkus-openapi-generator-maven-plugin</artifactId> <version>2.4.2</version> <executions> <execution> <id>generate-target-client</id> <goals> <goal>generate</goal> </goals> <configuration> <inputSpec>${project.basedir}/src/main/resources/your-openapi-spec.yaml</inputSpec> <generatorName>quarkus-reactive</generatorName> <configOptions> <registerRestClient>true</registerRestClient> <configKey>my-client-name</configKey> </configOptions> </configuration> </execution> </executions> </plugin> </plugins> </build>
验证方式
启动应用后,通过日志或调试工具检查请求是否携带配置的自定义头。若仍不生效,可排查是否存在自定义ClientRequestFilter拦截器修改或移除了请求头。
内容的提问来源于stack exchange,提问作者simonC
相关产品推荐
相关产品推荐

