添加Swagger2依赖
在pom.xml中加入Swagger2的依赖
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>${springfox.version}</version>
<exclusions>
<exclusion>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>${springfox.version}</version>
</dependency>
- JHipster生成的服务器,并不需要像很多网上说的要初始化Swagger2的配置
- 启动Spring Boot程序,访问:http://localhost:8080/swagger-ui.html
header内增加token参数
@Configuration
@EnableSwagger2
@Profile({"swagger"})
public class Swagger2Config {
@Value("${jhipster.swagger.default-include-pattern}")
String defaultIncludePattern;
@Bean
public Docket api() {
//可以添加多个header或参数
ParameterBuilder aParameterBuilder = new ParameterBuilder();
aParameterBuilder
.parameterType("header") //参数类型支持header, cookie, body, query etc
.name("username) //参数名
.defaultValue("t122222") //默认值
.description("header中字段username测试")
.modelRef(new ModelRef("string"))//指定参数值的类型
.required(false).build(); //非必需,这里是全局配置
List<Parameter> aParameters = new ArrayList<Parameter>();
aParameters.add(aParameterBuilder.build());
return new Docket(DocumentationType.SWAGGER_2)
.select().apis(RequestHandlerSelectors.any())
.paths(regex(defaultIncludePattern)).build()
.globalOperationParameters(aParameters);
}
}
其中defaultIncludePattern接口扫描规则
default-include-pattern: /.*
注意
如果你的服务器是通过jhipster生成的,会自动启动jhipster内swagger配置,会跟自定义的Swagger2Config冲突
处理方法:
屏蔽swagger内的配置
@EnableAutoConfiguration(exclude = {SwaggerConfiguration.class})