springboot整合swagger2携带token全局配置

时间:2025-03-20 08:59:35

导入依赖:

		<dependency>
            <groupId></groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>2.9.2</version>
        </dependency>
        <dependency>
            <groupId></groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>2.9.2</version>
        </dependency>

新ui,直接可以配headers

 <dependency>
            <groupId></groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>2.7.0</version>
        </dependency>

        <dependency>
            <groupId></groupId>
            <artifactId>swagger-bootstrap-ui</artifactId>
            <version>1.9.6</version>
        </dependency>

配置类:

package com.;

import ;
import ;
import ;
import ;
import ;
import ;
import ;
import ;
import ;
import ;
import ;
import ;
import ..EnableSwagger2;

import ;
import ;

@Configuration
@EnableSwagger2
public class SwaggerConfig {
    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2)
                .pathMapping("/")
                .select()
                .apis(("com."))
                .paths(())
                .build().apiInfo(new ApiInfoBuilder()
                        .title("SpringBoot整合Swagger")
                        .description("SpringBoot整合Swagger,详细信息......")
                        .version("1.0")
                        .contact(new Contact("gklTest","","1430490717@"))
                        .license("The Apache License")
                        .licenseUrl("")
                        .build())
                .securitySchemes(securitySchemes())
                .securityContexts(securityContexts())
                ;
    }


    private List<ApiKey> securitySchemes() {
        List<ApiKey> apiKeyList= new ArrayList();
        (new ApiKey("Authorization", "Authorization", "header"));
        return apiKeyList;
    }

    private List<SecurityContext> securityContexts() {
        List<SecurityContext> securityContexts=new ArrayList<>();
        (
                ()
                        .securityReferences(defaultAuth())
                        .forPaths(("^(?!auth).*$"))
                        .build());
        return securityContexts;
    }

    List<SecurityReference> defaultAuth() {
        AuthorizationScope authorizationScope = new AuthorizationScope("global", "accessEverything");
        AuthorizationScope[] authorizationScopes = new AuthorizationScope[1];
        authorizationScopes[0] = authorizationScope;
        List<SecurityReference> securityReferences=new ArrayList<>();
        (new SecurityReference("Authorization", authorizationScopes));
        return securityReferences;
    }
}
package ;

import ;
import ;
import ;
import ;
import ;
import ;
import ;
import ;
import ;
import ;
import ;
import ;
import ..EnableSwagger2;
import ;
import ;
import ;
import ;

@Configuration
@EnableSwagger2
public class SwaggerConfig {

    @Bean
    Docket createRestApi() {
        ResponseMessage requestParameterError = new ResponseMessageBuilder().code(400).message("Request Parameter Error").build();
        ResponseMessage notFound = new ResponseMessageBuilder().code(404).message("Not Found").build();
        ResponseMessage internalServerError = new ResponseMessageBuilder().code(500).message("Internal Server Error").build();

        return new Docket(DocumentationType.SWAGGER_2)
                .select()
                .apis((""))
                .paths(())
                .build()
                .pathMapping("/")

                // 以字符串代替日期格式显示
                .directModelSubstitute(, )
                .directModelSubstitute(, )
                .genericModelSubstitutes()

                // 页面显示信息
                .apiInfo(apiInfo())
                .enable(true)

                // 设置全局自定义异常消息返回
                .useDefaultResponseMessages(false)
                .globalResponseMessage(, (requestParameterError, notFound, internalServerError))
                .globalResponseMessage(, (requestParameterError, internalServerError))
                .globalResponseMessage(, (requestParameterError, internalServerError))
                .globalResponseMessage(, (requestParameterError, internalServerError))
                .globalResponseMessage(, (requestParameterError, internalServerError));
    }


    private ApiInfo apiInfo() {
        return new ApiInfo("swagger2  API",
                "swagger2 API 文档",
                "1.0.0",
                "/",
                new Contact("swagger2 API文档", "/", ""),
                "",
                "",
                new ArrayList<>());
    }
}
package com.;

import ;
import ;
import ;

/**
 * @author ctx_gao kailong
 * @date 2020/5/25 15:02
 */
@Data
@ApiModel
public class SendDTO {
    @ApiModelProperty(value = "路由键")
    private String key;
    @ApiModelProperty(value = "消息")
    private String msg;
}
package com.;

import com.;
import com.;
import ;
import ;
import ;
import ;
import ;
import .*;

import ;

/**
 * @author ctx_gao kailong
 * @date 2020/5/22 16:26
 */
@RestController
@RequestMapping("/mq")
@Api(tags = "主题模式mq相关接口")
public class MqController {
    @Autowired
    private Productr productr;

    @ApiOperation("发送mq消息")
    @PostMapping("/send")
    public String send(@RequestBody SendDTO sendDTO) {
        (() , ());
        return "ok";
    }

    @ApiOperation("发送mq消息1")
    @GetMapping("/send1")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "msg", value = "消息", defaultValue = "haha"),
            @ApiImplicitParam(name = "key", value = "路由键", defaultValue = "test", required = true)
    })
    public String send1(String msg , String key) {
        (msg , key);
        return "ok";
    }
}

访问地址:
http://localhost:8080/(端口号与当前项目端口号一致)