這是一個方便的接口生成工具,並且他能提供接口單元測試,下面就介紹一下使用方式
1. 先在你的工程當中引用到兩個jar,這裏使用maven
<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.9.2</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.9.2</version> </dependency>
2. 寫swagger的配置文件
import io.swagger.annotations.ApiOperation; 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.ApiInfo; import springfox.documentation.service.ApiKey; import springfox.documentation.spi.DocumentationType; import springfox.documentation.spring.web.plugins.Docket; import springfox.documentation.swagger2.annotations.EnableSwagger2; import java.util.ArrayList; import java.util.List; @Configuration @EnableSwagger2 public class Swagger2Configuration { /** * @author wujiaxing * <p> * 使用Swagger2只需三步 * 1、導入Swaggerr依賴 * 2、配置Docket的bean * 3、使用@Api等註解修飾 * </p> */ @Configuration @EnableSwagger2 public class SwaggerConfig { @Bean public Docket createRestApi() { return new Docket(DocumentationType.SWAGGER_2) //基本信息 .apiInfo(apiInfo()) //固定寫法 .select() // 兩種方式 // 第一種:方法需要有ApiOperation註解才能生存接口文檔,withMethodAnnotation(ApiOption.class),或者class帶註解withClassAnnotation // 第二種:定義一個掃描包位置,在目標包裏面的所有帶ApiOperation註釋的都應用,RequestHandlerSelectors.basePackage("目標包名") .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class)) // 路徑使用any風格 .paths(PathSelectors.any()) .build() // 如何保護我們的Api,有三種驗證(ApiKey, BasicAuth, OAuth) .securitySchemes(security()); } /** * 接口文檔詳細信息 * * @return */ private ApiInfo apiInfo() { return new ApiInfoBuilder().title("標題").description("這是一個描述").termsOfServiceUrl("http://www.localhost:8080").version("1.0.0").build(); } private List<ApiKey> security() { ArrayList<ApiKey> apiKeys = new ArrayList<>(); apiKeys.add(new ApiKey("token", "token", "header")); return apiKeys; } } }
3. 最後如果是配置了必須有ApiOperation的註解才使用就需要在方法上添加註解, 如果是掃描包的形式,就不需要添加任何的註解
@ApiOperation("hello2") @PostMapping(value = "/t2") public String hello3(@RequestParam String a){ return "Test Hello3"; }
4. 測試效果,啓動工程後,可以通過登錄工程的swagger-ui.html地址查看結果如圖