最近在跟朋友弄个小项目,发现朋友真狠啊,好多只停留在知道的东西都用上了,毕竟大城市的人,小地方的我还是受益匪浅的,开心?。
Swagger可以理解成一个API管理工具,目前还是比较流行的,毕竟很方便,好像还有一个Api2Doc,挺类似的,好像也很好,不过没用过就不说了。
Springboot配置Swagger还是比较方便的,基础环境就是 maven + springboot + jdk1.8 就可以了,下面开始具体的整合。
- pom文件中添加swagger2的依赖
<!-- REST API 文档构建 --> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.2.2</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.2.2</version> </dependency>
- 创建配置类,配置类可以是全局配置也可以是专门配置Swagger的类,但实际上就是创建如下的两个方法
@Bean public Docket createRestApi() { return new Docket(DocumentationType.SWAGGER_2) .apiInfo(apiInfo()) .select() //此处用来配置需要扫描的位置 .apis(RequestHandlerSelectors.basePackage("com.lxinyu.admin.controller")) .paths(PathSelectors.any()) .build(); } private ApiInfo apiInfo() { return new ApiInfoBuilder() .title("RestTful API Document") .description("description for admin api") .termsOfServiceUrl("git@github:xxx.git") .contact("lxinyu") .version("1.0") .build(); }
- 在启动类(或配置类)中添加@EnableSwagger2注解,表示允许使用Swagger
- 到此即可在controller中使用Swagger的注解进行使用了
- Swagger通过注解表明该接口会生成文档,包括接口名、请求方法、参数、返回信息的等等,具体注解如下(此处引用一篇其他博客的描述,地址如下:https://www.cnblogs.com/jtlgb/p/8532433.html):
@Api:修饰整个类,描述Controller的作用 @ApiOperation:描述一个类的一个方法,或者说一个接口 @ApiParam:单个参数描述 @ApiModel:用对象来接收参数 @ApiProperty:用对象接收参数时,描述对象的一个字段 @ApiResponse:HTTP响应其中1个描述 @ApiResponses:HTTP响应整体描述 @ApiIgnore:使用该注解忽略这个API @ApiError :发生错误返回的信息 @ApiImplicitParam:一个请求参数 @ApiImplicitParams:多个请求参数