SpringBoot使用knife4j進(jìn)行在線接口調(diào)試
前言
我們在開發(fā)一個(gè)Java Web
的項(xiàng)目,如果項(xiàng)目整體采用前后端分離的架構(gòu)的方式,我們會(huì)經(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-01java自動(dòng)根據(jù)文件內(nèi)容的編碼來讀取避免亂碼
這篇文章主要介紹了java自動(dòng)根據(jù)文件內(nèi)容的編碼來讀取避免亂碼,需要的朋友可以參考下2014-02-02spring cglib 與 jdk 動(dòng)態(tài)代理
本篇文章主要介紹了spring cglib與jdk動(dòng)態(tài)代理的相關(guān)知識,具有很好的參考價(jià)值。下面跟著小編一起來看下吧2017-05-05Java實(shí)現(xiàn)權(quán)重隨機(jī)算法詳解
平時(shí),經(jīng)常會(huì)遇到權(quán)重隨機(jī)算法,從不同權(quán)重的N個(gè)元素中隨機(jī)選擇一個(gè),并使得總體選擇結(jié)果是按照權(quán)重分布的。本文就詳細(xì)來介紹如何實(shí)現(xiàn),感興趣的可以了解一下2021-07-07