1. 程式人生 > >springboot專案整合Swagger2

springboot專案整合Swagger2

    不僅僅是springboot,其他spring專案均可整合swagger,在專案開發中,眾多的介面都要有介面文件,並且很容易出現紕漏和程式碼與文件不一致的情況,利用swagger來自動生成api文件,讓程式碼維護與文件維護保持一致,大大減少文件編寫和維護的工作量,並且swagger2還提供了強大的頁面測試功能來除錯每個RESTful API。

1.加入jar包依賴

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

2.建立swagger2配置類

通過 @Configuration 註解,讓Spring來載入該類配置。再通過 @EnableSwagger2 註解來啟用Swagger2。本例採用指定掃描的包路徑來定義,Swagger會掃描該包下所有Controller定義的API,併產生文件內容(除了被 @ApiIgnore 指定的請求)。

@Configuration
@EnableSwagger2
public class SwaggerConfig {

    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.nio.exam"
)) .paths(PathSelectors.any()) .build(); } private ApiInfo apiInfo() { return new ApiInfoBuilder() .title("Spring Boot中使用Swagger2構建RESTful APIs") .description("這是一個description") .termsOfServiceUrl("http://blog.csdn.net/innerpeacescorpio") .contact("jingling") .version("1.0") .build(); } }

3.編寫介面配置自定義的文件內容

@RestController
@RequestMapping(value="/test") 
public class SwaggerTestController {

    @ApiOperation(value="測試介面", notes="測試介面詳細描述")
    @RequestMapping(value="/id", method=RequestMethod.PUT)
    public String doSomething(@ApiParam(required=true, name="channelId", value="渠道ID") @RequestParam Integer channelId,
            @ApiParam(required=true, name="operator", value="操作人") @RequestParam String operator,
            @ApiParam(required=true, name="map", value="引數") @RequestParam Map<String, Object> map){
        return "hello";
    }

}

4.訪問