swagger加请求头(测试带token的请求)

现在大家一般都是使用SpringBoot写RESTful接口, 但是在测试带有token的请求的时候, 就有点难受了. 传统的PostMan就有点让人炸毛了.  但是现在Swagger出现了.(SpringBoot简直和Swagger是天作之和)

swagger的整合细节就不在这里说了, 下面进入正题:

@Configuration
public class Swagger2Config {
    @Bean
    public Docket createRestApi() {
        //添加head参数配置start
        ParameterBuilder tokenPar = new ParameterBuilder();
        List<Parameter> pars = new ArrayList<>();
        tokenPar.name("Authorization").description("令牌").modelRef(new ModelRef("string")).parameterType("header").required(false).build();
        pars.add(tokenPar.build());
        //添加head参数配置end
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.cinsc.MainView.ctr"))
                .paths(PathSelectors.any())
                .build()
                .globalOperationParameters(pars);//注意这里
    }

    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("springboot利用swagger构建api文档")
                .description("束手就擒--简单优雅的restfun风格")
                .termsOfServiceUrl("https://blog.youkuaiyun.com/ssjq123")
                .version("1.0")
                .build();
    }
}

效果图:

 

多出来一个 Authorization,在里面放token就行了.

 

### 如何在Swagger中调试请求头 #### 使用自定义参数配置请求头 为了更好地控制发送到API端点的HTTP头部,在Swagger UI中可以通过自定义全局或特定操作级别的参数来实现这一点。对于需要验证身份认证令牌或其他元数据的应用程序来说尤其有用[^2]。 ```yaml securityDefinitions: api_key: type: "apiKey" name: "Authorization" in: "header" ``` 这段YAML片段展示了如何定义安全方案,允许用户通过UI界面输入`Authorization`字段的内容作为Bearer Token传递给服务器进行权限校验。 #### 利用环境变量设置默认值 当涉及到跨多个API调用共享相同的信息时(比如OAuth访问令牌),可以利用Swagger UI Plus版本中的特性——环境管理器(Environment Manager),它支持创建不同的执行上下文并为这些场景预设好必要的头部信息[^1]。 #### 测试有复杂结构的数据 如果应用程序接受复杂的头部格式,则可以在路径项对象内指定额外的属性以适应更广泛的需求。例如: ```json { "/resource": { "get": { "parameters": [ { "name": "X-Custom-Header", "in": "header", "required": true, "type": "string", "description": "A custom header that is required." } ] } } } ``` 此JSON片断说明了怎样声明一个必需的字符串类型的头部名为`X-Custom-Header`,并且提供了简短描述帮助开发者理解其用途[^3]。 以上方法能够有效地协助开发团队成员快速上手并掌握针对不同情况下的请求头处理方式,从而提高工作效率以及减少潜在错误的发生几率。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

来日可期1314

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值