You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Swagger UI发送请求时自动注入自定义请求头?

解决方案:通过OpenAPI Bean配置自动添加请求头

不需要额外实现过滤器或拦截器,直接修改你现有的OpenAPI Bean就能完成需求。具体做法是添加一个全局请求头参数,设置固定默认值并隐藏该参数,让Swagger UI自动携带它发送请求。

修改后的代码如下:

@Bean
public OpenAPI customOpenAPI(@Value("${springdoc.version}") String appVersion) {
    // 定义硬编码的请求头参数
    Parameter testHeader = new Parameter()
            .name("test-header")
            .in("header")
            .schema(new StringSchema())
            .required(false)
            .defaultValue("{\"username\":\"swagger\", \"email\":\"dummy@email\"}")
            .hidden(true); // 隐藏参数,避免用户手动修改或添加

    return new OpenAPI()
            .info(new Info().title("Person API").version(appVersion)
                    .license(new License().name("Apache 2.0").url("http://springdoc.org")))
            .addGlobalRequestParameters(List.of(testHeader));
};

关键说明:

  • addGlobalRequestParameters方法会将该请求头应用到所有API接口上
  • hidden(true)会让Swagger UI不显示这个参数,用户完全不需要手动操作
  • defaultValue直接设置为指定的JSON字符串,确保请求自动携带该值

内容的提问来源于stack exchange,提问作者Suule

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 02:40:02