1.添加依赖
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>com.gizwits</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.7.0</version>
</dependency>
注意springfox-swagger-ui的版本是2.7.0。
中央仓库寻找寻找最新的依赖包:(本次使用的是如下)
2.设置配置
a.在Application中添加@EnableSwagger2,如下:
b.编写swagger配置文件并配置到项目中
代码:
package com.zxp.swagger.config;
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.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
/**
-
作者 zxp
-
创建时间 2018/9/27/027
-
交流群 897841829
*/
@Configuration
public class SwaggerConfig {
@Bean
public Docket createRestApi() {return new Docket(DocumentationType.SWAGGER_2) .apiInfo(apiInfo()) .select() .apis(RequestHandlerSelectors.basePackage("com.zxp.swagger.controller")) .paths(PathSelectors.any()) .build();
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder().title(“springboot利用swagger构建api文档”)
.description(“简单优雅的restfun风格,https://github.com/huoyan/swagger/tree/master”)
.termsOfServiceUrl(“https://github.com/huoyan/swagger/tree/master").version("1.0”).build();
}
}
3.注解使用:
package com.zxp.swagger.controller;
import com.zxp.swagger.entity.User;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
-
作者 zxp
-
创建时间 2018/9/27/027
-
交流群 897841829
*/
@Api
@RestController
public class TestController {@ApiOperation(value = “测试使用例子”, notes = “返回如输入文本”)
@GetMapping(“test1”)
public String test(String name) {
return name;
}
@ApiOperation(value = “测试使用例子1”, notes = “返回如输入文本2”)
@ApiImplicitParam(name = “name”, value = “单个用户信息”, dataType = “String”)
@GetMapping(“test2”)
public String test2(String name) {
return name;
}
@ApiOperation(value = “测试使用例子3”, notes = “返回输入对象”)
@GetMapping(“test3”)
public User test3(User user) {
return user;
}
@ApiOperation(value = “测试使用例子4”, notes = “返回输入对象”)
@PostMapping(“test4”)
public List test4(@RequestBody List users) {
return users;
}
}
4.发布应用登录http://localhost:8080/swagger-ui.html#/
注解常用:
@Api 描述类/接口的主要用途
@ApiOperation 描述方法用途
@ApiImplicitParam 描述方法的参数
@ApiImplicitParams 描述方法的参数(Multi-Params)
@ApiIgnore 忽略某类/方法/参数的文档
@ApiModel 实体对象使用
@ApiModelProperty(hidden = true) 实体对象忽略某个字段
测试demo:
https://github.com/huoyan/swagger/
最后欢迎大家加入:交流群 897841829共同学习进步