1 maven引用,此处只列出swagger的配置
<!-- swagger2 -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>
2 创建java文件,编写config信息
@Configuration
@EnableSwagger2
@ConditionalOnProperty(name = "swagger.enable", havingValue = "true")
public class SwaggerConfig {
public static final String LOGIN_TAG = "loginTag";
public static final String USER_TAG = "userTag";
public static final String MENU_TAG = "menuTag";
public static final String ORG_TAG = "orgTag";
public static final String DIC_TAG = "dicTag";
public static final String CONFIG_TAG = "configTag";
@Bean
public Docket createRestApi() {
ParameterBuilder tokenPar = new ParameterBuilder();
List<Parameter> pars = new ArrayList<>();
tokenPar.name(ParamCommon.TOKEN).description("令牌").modelRef(new ModelRef("string")).parameterType("header").required(false).build();
pars.add(tokenPar.build());
return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).tags(new Tag(LOGIN_TAG, "登陆的rest接口"),
new Tag(USER_TAG, "用户的rest接口"),
new Tag(MENU_TAG, "菜单的rest接口"),
new Tag(ORG_TAG, "机构的rest接口"),
new Tag(DIC_TAG, "数据字段的rest接口"),
new Tag(CONFIG_TAG, "配置信息的rest接口"))
.select()
.apis(RequestHandlerSelectors.basePackage("com.supply.chain"))// 扫描的单包路径
.paths(PathSelectors.any()).build()
.globalOperationParameters(pars);//这里需要注意些
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder().title("API接口 ").description("SINGLETABLE-POPUPEDIT REST API")
.version("0.0.1-SNAPSHOT").build();
}
}
3 application.properties增加配置信息,用来在生产环境关闭此配置实用
swagger.enable=true
4 在controller中增加对应的标签
5 启动后,使用http://localhost:8080/swagger-ui.html访问对应的接口信息
6 如果框架集成了shiro/spring security等,需要将配置一下,否则是访问不到的
/swagger-ui.html=anon
/webjars/**=anon
/v2/**=anon
/swagger-resources/**=anon
完成!