【SpringBoot】Swagger API查看工具

如果餓了就喫,困了就睡,渴了就喝,人生就太無趣了
源碼地址:https://github.com/keer123456789/springbootstudy/tree/master/swaggerdemo


1 介紹

最近在工作中接觸到了swaggerAPI工具,這個真的是太美好了,之前就想找一個這個API工具,對於API很多的項目,這個簡直就是提高開發效率,節省文檔。

2 maven依賴

		<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>

3 編輯Swagger配置

@Configuration
@EnableSwagger2
public class SwaggerConfig {
    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                //需要掃描的API(controller)包名
                .apis(RequestHandlerSelectors.basePackage("com.keer.swaggerdemo.controller"))
                .paths(PathSelectors.any())
                .build();
    }

    /**
     * 網頁上的一些配置,標題,版本等等
     * @return
     */
    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("Swaager Demo Rest API")
                .contact("可耳")
                .version("v1.0")
                .build();
    }
}

4 創建Controller

主要是介紹Swagger,這個工具主要是在controller層進行管理,就不在添加Service和Dao層的邏輯。

4.1 添加類註解

@API用來描述這個Controller的功能。


@RestController
@Api(tags = "swagger demo API info")
public class Controller {}

4.2方法註解

  • @ApiOperation: 描述這個方法的功能
  • @ApiImplicitParam:對如參的解釋,name:參數名稱,value:參數描述,required:是否必須,dataType:參數類型
@RestController
@Api(tags = "swagger demo API info")
public class Controller {
    protected Logger logger = LoggerFactory.getLogger(this.getClass());

    @PostMapping("/postTest")
    @ApiOperation(value = "post method,data is json", notes = "輸入用戶信息")
    @ApiImplicitParam(name = "user", value = "用戶實體", required = true, dataType = "User")
    public String postMethod(@RequestBody User user) {
        logger.info("接收到post請求:" + user.toString());
        return "傳來數據: " + user.toString();
    }

    @GetMapping("/getTest")
    @ApiOperation(value = "get method")
    public String getMethod() {
        logger.info("接收到get請求");
        return "Swagger demo test for keer";
    }
}

5 頁面展示

訪問:http://127.0.0.1:8080/swagger-ui.html
頁面如下:標註起來的都是在配置信息時編輯好的
在這裏插入圖片描述
點擊Swagger demo API Info,就會看到全部方法:
在這裏插入圖片描述

分別點擊相應的方法,填入需要的參數,點擊try it out按鈕即可調用此方法
如圖post方法:
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章