SpringBoot使用knife4j進行在線接口調試
前言
我們在開發(fā)一個Java Web的項目,如果項目整體采用前后端分離的架構的方式,我們會經常使用Swagger來進行接口調試和為前端提供接口文檔,但是Swagger并沒有實際上那么方便,比如我們在發(fā)送Post請求時,參數選填還是非常不友好,那么有沒有更好的工具呢?
正文
knife4j
knife4j是為Java MVC框架集成Swagger生成Api文檔的增強解決方案,前身是swagger-bootstrap-ui,具有小巧,輕量,并且功能強悍的優(yōu)點。
Knife4j提供兩大核心功能:文檔說明 和 在線調試
文檔說明:根據Swagger的規(guī)范說明,詳細列出接口文檔的說明,包括接口地址、類型、請求示例、請求參數、響應示例、響應參數、響應碼等信息,使用swagger-bootstrap-ui能根據該文檔說明,對該接口的使用情況一目了然。
在線調試:提供在線接口聯(lián)調的強大功能,自動解析當前接口參數,同時包含表單驗證,調用參數可返回接口響應內容、headers、Curl請求命令實例、響應時間、響應狀態(tài)碼等信息,幫助開發(fā)者在線調試,而不必通過其他測試工具測試接口是否正確,簡潔、強大。
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("發(fā)布模擬boos接口")
.description("簡單優(yōu)雅的發(fā)布模擬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在線接口調試內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
@Transactional遇到try catch失效的問題
這篇文章主要介紹了@Transactional遇到try catch失效的問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-01-01

