SpringBoot使用knife4j進(jìn)行在線接口調(diào)試
前言
我們在開發(fā)一個(gè)Java Web的項(xiàng)目,如果項(xiàng)目整體采用前后端分離的架構(gòu)的方式,我們會經(jīng)常使用Swagger來進(jìn)行接口調(diào)試和為前端提供接口文檔,但是Swagger并沒有實(shí)際上那么方便,比如我們在發(fā)送Post請求時(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ì)列出接口文檔的說明,包括接口地址、類型、請求示例、請求參數(shù)、響應(yīng)示例、響應(yīng)參數(shù)、響應(yīng)碼等信息,使用swagger-bootstrap-ui能根據(jù)該文檔說明,對該接口的使用情況一目了然。
在線調(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請求命令實(shí)例、響應(yīng)時(shí)間、響應(yīng)狀態(tài)碼等信息,幫助開發(fā)者在線調(diào)試,而不必通過其他測試工具測試接口是否正確,簡潔、強(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對外提供服務(wù)的端口
* @return
*/
private ApiInfo apiInfo() {
return new ApiInfoBuilder().title("發(fā)布模擬boos接口")
.description("簡單優(yōu)雅的發(fā)布模擬boos接口restful風(fēng)格接口")
// .termsOfServiceUrl("http://127.0.0.1:8080/doc.html")
.version("1.0").build();
}
}
驗(yàn)證
測試接口
@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

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

到此這篇關(guān)于SpringBoot使用knife4j進(jìn)行在線接口調(diào)試的文章就介紹到這了,更多相關(guān)SpringBoot knife4j在線接口調(diào)試內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java中String的split切割字符串方法實(shí)例及擴(kuò)展
最近在項(xiàng)目中遇到一個(gè)小問題,一個(gè)字符串分割成一個(gè)數(shù)組,下面這篇文章主要給大家介紹了關(guān)于Java中String的split切割字符串方法的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下2022-06-06
@Transactional遇到try catch失效的問題
這篇文章主要介紹了@Transactional遇到try catch失效的問題及解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-01-01
java自動(dòng)根據(jù)文件內(nèi)容的編碼來讀取避免亂碼
這篇文章主要介紹了java自動(dòng)根據(jù)文件內(nèi)容的編碼來讀取避免亂碼,需要的朋友可以參考下2014-02-02
spring cglib 與 jdk 動(dòng)態(tài)代理
本篇文章主要介紹了spring cglib與jdk動(dòng)態(tài)代理的相關(guān)知識,具有很好的參考價(jià)值。下面跟著小編一起來看下吧2017-05-05
Java實(shí)現(xiàn)權(quán)重隨機(jī)算法詳解
平時(shí),經(jīng)常會遇到權(quán)重隨機(jī)算法,從不同權(quán)重的N個(gè)元素中隨機(jī)選擇一個(gè),并使得總體選擇結(jié)果是按照權(quán)重分布的。本文就詳細(xì)來介紹如何實(shí)現(xiàn),感興趣的可以了解一下2021-07-07

