Swagger是當前最好用的Restful API文檔生成的開源項目担猛,通過swagger-spring項目,實現(xiàn)了與SpingMVC框架的無縫集成功能扯键,方便生成spring restful風格的接口文檔盼忌,同時swagger-ui還可以測試spring restful風格的接口功能藏斩。其官方網(wǎng)站為:http://swagger.io/
項目環(huán)境:
- jdk1.8
- SpringBoot1.5.3
- swagger2
效果圖
效果圖
首先添加依賴
<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>
將注解添加到WebConfiguration的類上娇哆。
@Configuration
@EnableSwagger2
public class WebConfiguration extends WebMvcConfigurerAdapter{
}
Springfox會和一組Docket協(xié)同工作馋艺,所以需要在類中定義為bean嚎卫。
@SpringBootApplication
public class SpringbootSwaggerApplication {
public static void main(String[] args) {
SpringApplication.run(SpringbootSwaggerApplication.class, args);
}
@Bean
public Docket useApi() {
return new Docket(DocumentationType.SWAGGER_2)
.select()
.paths(path -> path.startsWith("/api/"))
.build();
}
}
Controller層
簡單的curd接口嘉栓。
@RestController
@RequestMapping("/api")
public class UserInfoController {
@Autowired
private UserInfoService userInfoService;
@RequestMapping(value = "/users", method = RequestMethod.GET)
public List<UserInfo> findAll() {
return userInfoService.findAll();
}
@RequestMapping(value = "/user/{id}", method = RequestMethod.GET)
public UserInfo findOne(@PathVariable("id") String id) {
return userInfoService.findOne(id);
}
@RequestMapping(value = "/user", method = RequestMethod.POST)
public UserInfo createUserInfo(UserInfo userInfo) {
return userInfoService.save(userInfo);
}
@RequestMapping(value = "/user/{id}", method = RequestMethod.PUT)
public UserInfo updateUserInfo(@PathVariable("id") String id, UserInfo userInfo) {
return userInfoService.update(id, userInfo);
}
@RequestMapping(value = "/user/{id}", method = RequestMethod.DELETE)
public void delete(@PathVariable("id") String id) {
userInfoService.delete(id);
}
}
最簡單的搭建方法到此結(jié)束,有興趣的朋友的可以去瀏覽下官網(wǎng)