1. 程式人生 > 其它 >介面開發文件swagger

介面開發文件swagger

依賴

<!-- swagger2 依賴 -->
		<dependency>
			<groupId>io.springfox</groupId>
			<artifactId>springfox-swagger2</artifactId>
			<version>2.7.0</version>
		</dependency>
		<!-- Swagger第三方ui依賴 -->
		<dependency>
			<groupId>com.github.xiaoymin</groupId>
			<artifactId>swagger-bootstrap-ui</artifactId>
			<version>1.9.6</version>
		</dependency>

 工具類

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import
springfox.documentation.service.*; import springfox.documentation.spi.DocumentationType; import springfox.documentation.spi.service.contexts.SecurityContext; import springfox.documentation.spring.web.plugins.Docket; import springfox.documentation.swagger2.annotations.EnableSwagger2; import java.util.ArrayList;
import java.util.List; /** * Swagger2配置 * * @author zhoubin * @since 1.0.0 */ @Configuration @EnableSwagger2 public class Swagger2Config { @Bean public Docket createRestApi() { return new Docket(DocumentationType.SWAGGER_2) .apiInfo(apiInfo()) .select() .apis(RequestHandlerSelectors.basePackage("com.his.base.org.controller")) .paths(PathSelectors.any()) .build() //新增登入認證 .securityContexts(securityContexts()) .securitySchemes(securitySchemes()); } private List<SecurityContext> securityContexts() { //設定需要登入認證的路徑 List<SecurityContext> result=new ArrayList<>(); result.add(getContextByPath("/hello/.*")); return result; } private SecurityContext getContextByPath(String pathRegex) { return SecurityContext.builder() .securityReferences(defaultAuth()) .forPaths(PathSelectors.regex(pathRegex)).build(); } private List<SecurityReference> defaultAuth() { List<SecurityReference> result = new ArrayList<>(); AuthorizationScope authorizationScope = new AuthorizationScope("global", "accessEverything"); AuthorizationScope[] authorizationScopes = new AuthorizationScope[1]; authorizationScopes[0] = authorizationScope; result.add(new SecurityReference("Authorization",authorizationScopes)); return result; } private ApiInfo apiInfo() { //設定文件資訊 return new ApiInfoBuilder() .title("雲E辦介面文件") .description("雲E辦介面文件") .contact(new Contact("xxxx", "http:192.168.1.187:9705/doc.html", "[email protected]")) .version("1.0") .build(); } private List<ApiKey> securitySchemes(){ //設定請求頭資訊 List<ApiKey> result = new ArrayList<>(); ApiKey apiKey = new ApiKey("Authorization","Authorization","header"); result.add(apiKey); return result; } }