SpringBoot使用knife4j進(jìn)行在線接口調(diào)試
前言
我們?cè)陂_發(fā)一個(gè)Java Web的項(xiàng)目,如果項(xiàng)目整體采用前后端分離的架構(gòu)的方式,我們會(huì)經(jīng)常使用Swagger來進(jìn)行接口調(diào)試和為前端提供接口文檔,但是Swagger并沒有實(shí)際上那么方便,比如我們?cè)诎l(fā)送Post請(qǐng)求時(shí),參數(shù)選填還是非常不友好,那么有沒有更好的工具呢?
正文
knife4j
knife4j是為Java MVC框架集成Swagger生成Api文檔的增強(qiáng)解決方案,前身是swagger-bootstrap-ui,具有小巧,輕量,并且功能強(qiáng)悍的優(yōu)點(diǎn)。
Knife4j提供兩大核心功能:文檔說明 和 在線調(diào)試
文檔說明:根據(jù)Swagger的規(guī)范說明,詳細(xì)列出接口文檔的說明,包括接口地址、類型、請(qǐng)求示例、請(qǐng)求參數(shù)、響應(yīng)示例、響應(yīng)參數(shù)、響應(yīng)碼等信息,使用swagger-bootstrap-ui能根據(jù)該文檔說明,對(duì)該接口的使用情況一目了然。
在線調(diào)試:提供在線接口聯(lián)調(diào)的強(qiáng)大功能,自動(dòng)解析當(dāng)前接口參數(shù),同時(shí)包含表單驗(yàn)證,調(diào)用參數(shù)可返回接口響應(yīng)內(nèi)容、headers、Curl請(qǐng)求命令實(shí)例、響應(yīng)時(shí)間、響應(yīng)狀態(tài)碼等信息,幫助開發(fā)者在線調(diào)試,而不必通過其他測(cè)試工具測(cè)試接口是否正確,簡(jiǎn)潔、強(qiáng)大。
SpringBoot使用knife4j進(jìn)行在線接口調(diào)試
注入依賴
<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對(duì)外提供服務(wù)的端口
* @return
*/
private ApiInfo apiInfo() {
return new ApiInfoBuilder().title("發(fā)布模擬boos接口")
.description("簡(jiǎn)單優(yōu)雅的發(fā)布模擬boos接口restful風(fēng)格接口")
// .termsOfServiceUrl("http://127.0.0.1:8080/doc.html")
.version("1.0").build();
}
}
驗(yàn)證
測(cè)試接口
@RestController
@Slf4j
public class UserController {
@GetMapping("/helloword")
public String hello(String input){
return "你好,"+input;
}
}
啟動(dòng)項(xiàng)目后:訪問http://127.0.0.1:8080/doc.html

訪問測(cè)試接口,進(jìn)行測(cè)試:

到此這篇關(guān)于SpringBoot使用knife4j進(jìn)行在線接口調(diào)試的文章就介紹到這了,更多相關(guān)SpringBoot knife4j在線接口調(diào)試內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Redisson延遲隊(duì)列執(zhí)行流程源碼解析
這篇文章主要為大家介紹了Redisson延遲隊(duì)列執(zhí)行流程源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-09-09
Java實(shí)戰(zhàn)練習(xí)之撲克牌魔術(shù)
這篇文章主要介紹了Java實(shí)戰(zhàn)練習(xí)之撲克牌魔術(shù),文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)java的小伙伴們有很好地幫助,需要的朋友可以參考下2021-04-04
詳解Spring boot/Spring 統(tǒng)一錯(cuò)誤處理方案的使用
這篇文章主要介紹了詳解Spring boot/Spring 統(tǒng)一錯(cuò)誤處理方案的使用,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-06-06
Spring boot JPA實(shí)現(xiàn)分頁和枚舉轉(zhuǎn)換代碼示例
這篇文章主要介紹了Spring boot JPA實(shí)現(xiàn)分頁和枚舉轉(zhuǎn)換代碼示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-09-09
解決static類使用@Value獲取yml文件獲取不到的問題
在靜態(tài)類中直接使用@Value注解無法獲取yml文件中的配置,解決方案是在工具類Utils中創(chuàng)建靜態(tài)的setter方法,并從外部類ServiceClass中調(diào)用這個(gè)方法來設(shè)置值,這種方法通過外部調(diào)用來間接設(shè)置靜態(tài)變量的值,從而成功讀取yml配置2024-09-09
Spring容器初始化擴(kuò)展點(diǎn)之ApplicationContextInitializer詳解
ApplicationContextInitializer是Spring框架提供的一個(gè)接口,用于在Spring應(yīng)用上下文刷新之前對(duì)其進(jìn)行自定義初始化,本文介紹Spring容器初始化擴(kuò)展點(diǎn)之ApplicationContextInitializer,感興趣的朋友一起看看吧2025-02-02
將項(xiàng)目上傳到Maven中央倉(cāng)庫(kù)(2023最新版)
本文主要介紹了將項(xiàng)目上傳到Maven中央倉(cāng)庫(kù)(2023最新版),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-05-05

