SpringBoot + Swagger2的入门记录。
新建一个Springboot项目(开发工具STS,无需安装插件直接新建Springboot项目)。
添加依赖
pom.xml
<!-- swagger start -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.6.1</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.6.1</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- swagger end -->
Application.java
新增注解
@SpringBootApplication //新建项目默认有
@EnableSwagger2 //开启swagger2
@SpringBootApplication
@EnableSwagger2
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
User.java
新建一个实体类
......
JsonResult.java
private String status = null;
private Object result = null;
public void setStatus(String status) {
this.status = status;
}
public void setResult(Object result) {
this.result = result;
}
public String getStatus() {
return status;
}
public Object getResult() {
return result;
}
UserController.java
新建控制器,并添加@RestController注解
@RestController
public class UserController {
static Map<Integer, User> users = Collections.synchronizedMap(new HashMap<Integer, User>());
/** * 查询用户列表 * @return */
@ApiOperation(value = "获取用户列表", notes = "获取用户列表")
@RequestMapping(value = "users", method = RequestMethod.GET)
public ResponseEntity<JsonResult> getUserList() {
JsonResult r = new JsonResult();
try {
List<User> userList = new ArrayList<User>(users.values());
r.setResult(userList);
r.setStatus("ok");
} catch (Exception e) {
r.setResult(e.getClass().getName() + ":" + e.getMessage());
r.setStatus("error");
e.printStackTrace();
}
return ResponseEntity.ok(r);
}
@ApiIgnore//使用该注解忽略这个API
@RequestMapping(value = "/hi", method = RequestMethod.GET)
public String jsonTest() {
return " hi you!";
}
}
Swagger2.java
配置接口页面,新增注解@Configuration,apiInfo()中相关方法描述此处省略,可在运行后的页面自行了解
@Configuration
public class Swagger2 {
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).select()
.apis(RequestHandlerSelectors.basePackage("**your packagename**")).paths(PathSelectors.any()).build();
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder().title("springboot利用swagger构建api文档")
.description("api文档说明").version("1.0").build();
}
}
OK,到这里一个Springboot+swagger项目就搞定了,点击进入Application页面,右键RunAs>Spring Boot App,启动项目,在浏览器中输入http://localhost:8080/swagger-ui.html