knife4j 簡單使用(一)

AAcoding發表於2020-12-08

第一步:建立maven工程,新增依賴:

<dependency>
    <groupId>com.github.xiaoymin</groupId>
    <artifactId>knife4j-spring-boot-starter</artifactId>
    <version>2.0.7</version>
</dependency>

第二步:工程中建立一個配置類Knife4jConfiguration,新增如下的配置

@Configuration
@EnableSwagger2WebMvc
public class Knife4jConfiguration {

    @Bean(value = "defaultApi2")
    public Docket defaultApi2() {
        Docket docket=new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(new ApiInfoBuilder()
                        //.title("swagger-bootstrap-ui-demo RESTful APIs")
                        .description("# swagger-bootstrap-ui-demo RESTful APIs")
                        .termsOfServiceUrl("http://www.xx.com/")
                        .contact("xx@qq.com")
                        .version("1.0")
                        .build())
                //分組名稱
                .groupName("2.X版本")
                .select()
                //這裡指定Controller掃描包路徑
                .apis(RequestHandlerSelectors.basePackage("com.aluphy.material.controller"))
                .paths(PathSelectors.any())
                .build();
        return docket;
    }
}

注意,這裡指定Controller掃描包路徑就是你專案中的路徑

第三步:新增controller包含一個簡單的RESTful介面,程式碼示例如下:

@Api(tags = "首頁模組")
@RestController
public class IndexController {

    @ApiImplicitParam(name = "name",value = "姓名",required = true)
    @ApiOperation(value = "hello")
    @GetMapping("/sayHi")
    public ResponseEntity<String> sayHi(@RequestParam(value = "name")String name){
        return ResponseEntity.ok("Hi:"+name);
    }
}

第四步:啟動Spring Boot工程,在瀏覽器中訪問:http://localhost:9010/doc.html在這裡插入圖片描述

可以看到定義的方法已經在文件中顯示出來了.個人感覺比swagger好用

這裡需要注意,如果訪問不成功,檢查你的配置檔案是否新增了 context-path 的配置,如果新增了,需要在訪問路徑中也新增上.

server:
  port: 9001
  servlet:
    context-path: /base

實際上我的訪問路徑為http://localhost:9010/base/doc.html