1. 程式人生 > 程式設計 >SpringBoot使用knife4j進行線上介面除錯

SpringBoot使用knife4j進行線上介面除錯

前言

我們在開發一個Java Web的專案,如果專案整體採用前後端分離的架構的方式,我們會經常使用Swagger來進行介面除錯和為前端提供介面文件,但是Swagger並沒有實際上那麼方便,比如我們在傳送Post請求時,引數選填還是非常不友好,那麼有沒有更好的工具呢?

正文

knife4j

knife4j是為Java MVC框架整合Swagger生成Api文件的增強解決方案,前身是swagger-bootstrap-ui,具有小巧,輕量,並且功能強悍的優點。

Knife4j提供兩大核心功能:文件說明 和 線上除錯

文件說明:根據Swagger的規範說明,詳細列出介面文件的說明,包括介面地址、型別、請求示例、請求引數、響應示例、響應引數、響應碼等資訊,使用swagger-bootstrap-ui

能根據該文件說明,對該介面的使用情況一目瞭然。

線上除錯:提供線上介面聯調的強大功能,自動解析當前介面引數,同時包含表單驗證,呼叫引數可返回介面響應內容、headersCurl請求命令例項、響應時間、響應狀態碼等資訊,幫助開發者線上除錯,而不必通過其他測試工具測試介面是否正確,簡潔、強大。

SpringBoot使用knife4j進行線上介面除錯

注入依賴

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

SwaggerConfig.class :knife4j配置類

@Configuration
@EnableSwagger2
@EnableKnife4j
@Import(BeanValidatorPluginsConfiguration.class)
public class SwaggerConfig {


  /**
   * 這裡配置swagger掃描的包
   * @return
   */
  @Bean
  public Docket createRestApi() {
    return new Docket(DocumentationType.SWAGGER_2)
        .apiInfo(apiInfo())
        .select()
        .apis(RequestHandlerSelectors
            .basePackage("com.luo.producer"))
        .paths(PathSelectors.any()).build();
  }


  /**
   * 這裡配置swagger對外提供服務的埠
   * @return
   */
  private ApiInfo apiInfo() {
    return new ApiInfoBuilder().title("釋出模擬boos介面")
        .description("簡單優雅的釋出模擬boos介面restful風格介面")
        // .termsOfServiceUrl("http://127.0.0.1:8080/doc.html")
        .version("1.0").build();
  }
}

驗證

測試介面

@RestController
@Slf4j
public class UserController {
  @GetMapping("/helloword")
  public String hello(String input){
    return "你好,"+input;
  }
 }

啟動專案後:訪問http://127.0.0.1:8080/doc.html

SpringBoot使用knife4j進行線上介面除錯

訪問測試介面,進行測試:

SpringBoot使用knife4j進行線上介面除錯

到此這篇關於SpringBoot使用knife4j進行線上介面除錯的文章就介紹到這了,更多相關SpringBoot knife4j線上介面除錯內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!