在先后端分离,写接口文档较繁琐。利用 Swagger2咱们能够作到:html
上大图:java
有这么多的好处,还不赶忙下手?话说,我就先下手为强了~~~git
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.8.0</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2-ui</artifactId>
<version>2.7.0</version>
</dependency>
复制代码
在Application.java同级下建立Swagger2.github
@Configuration //让spring加载此类配置
@EnableSwagger2 //启动swagger2
public class Swagger2 {
@Bean
public Docket createRestApi(){
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage("com.sugar.springbootlearning"))
.paths(PathSelectors.any())
.build();
}
private ApiInfo apiInfo(){
return new ApiInfoBuilder()
.title("sugar xxx project RESTful APIs")
.description("see more")
.termsOfServiceUrl("https://github.com/yangshuting1")
.contact("sugar")
.version("1.0")
.build();
}
}
复制代码
因为为了有更好的交互体验,咱们要拿出咱们法宝:spring
@RestController //@RestController: 能够返回json 相比较于@Controller
@RequestMapping("/product") // @RequestMapping :配置URL映射
public class ProductController {
/** * date: 2018-05-11 * author: yangshuting * */
@ApiOperation("建立产品")
@RequestMapping(value = "", method = RequestMethod.POST)
public boolean createProduct(@RequestBody CreateProductOption CreateProductOption){
return true;
}
@ApiOperation("获取产品")
@RequestMapping(value = "/{productId}", method = RequestMethod.GET)
public Product getProduct(@PathVariable long productId){
Product product = new Product();
product.setId(productId);
product.setName("笔记本");
product.setDeleted(0);
return product;
}
}
复制代码
以后运行spring boot,在浏览器页面输入:http://localhost:8080/swagger-ui.html就能够出来效果了。json
API 详情图以下: 后端
代码示例:sugar2-3api