Spring boot — 利用Swagger2構建RESTful API文檔

Swagger2的優點

在先後端分離,寫接口文檔較繁瑣。利用 Swagger2咱們能夠作到:html

  1. 無需編寫任何文檔
  2. 頁面直觀
  3. 可調式

上大圖:java

有這麼多的好處,還不趕忙下手?話說,我就先下手爲強了~~~git

Swagger2的使用

1. 添加依賴

<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>
複製代碼

2. 配置Swagger2

在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();
    }
}

複製代碼

3. 填充文檔信息

因爲爲了有更好的交互體驗,咱們要拿出咱們法寶:spring

  1. @ApiOperation: 修飾API
  2. @ApiImplicitParams: 方法的參數進行說明
@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

4 調試和查看

API 詳情圖以下: 後端

能夠進行查看和輸入參數進行try,是否是很方便吶!!!

代碼示例:sugar2-3api

參考文章以下:http://blog.didispace.com瀏覽器

相關文章
相關標籤/搜索