1. 程式人生 > >SpringBoot整合swagger2,生成API文件

SpringBoot整合swagger2,生成API文件

1、新增依賴

        <!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 -->
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>2.9.2</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger-ui -->
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>2.9.2</version>
        </dependency>

2、編寫swagger配置類

package com.zhaoyan.demo;


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;

@Configuration
public class SwaggerConf {

    public Docket createRestApi(){
        Docket docket = new Docket(DocumentationType.SWAGGER_2);
        docket.apiInfo(apiInfo());
        docket.select().
                apis(RequestHandlerSelectors.basePackage("com.zhaoyan.demo"))
                .paths(PathSelectors.any()).build();
        return docket;
    }

    private ApiInfo apiInfo(){
        return new ApiInfoBuilder()
                .title("Api文件")//標題
                .description("restful風格介面API")//描述
                .version("1.0")//版本
                .contact("zhaoyan")
                .build();
    }
}

3、開啟Swagger2

package com.zhaoyan.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

@EnableSwagger2
@SpringBootApplication
public class DemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }
}

4、restful介面

package com.zhaoyan.demo.random;

import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;

@Api(tags = "獲取隨機數")
@RestController
public class RandomController {

    @ApiOperation("隨機數")
    @RequestMapping(value = "/random",method = RequestMethod.GET)
    public String getRandom(){
        //Math.random()方法可以隨機產生一個[0.0,1.0]區間的雙精度的浮點數。
        Double random = Math.random();
        return String.valueOf(Math.random());
    }
}