前言
我們在開發一個Java Web
的項目,如果項目整體采用前后端分離的架構的方式,我們會經常使用Swagger
來進行接口調試和為前端提供接口文檔,但是Swagger
并沒有實際上那么方便,比如我們在發送Post
請求時,參數選填還是非常不友好,那么有沒有更好的工具呢?
正文
knife4j
knife4j是為Java MVC
框架集成Swagger
生成Api
文檔的增強解決方案,前身是swagger-bootstrap-ui,
具有小巧,輕量,并且功能強悍的優點。
Knife4j
提供兩大核心功能:文檔說明 和 在線調試
文檔說明:根據Swagger
的規范說明,詳細列出接口文檔的說明,包括接口地址、類型、請求示例、請求參數、響應示例、響應參數、響應碼等信息,使用swagger-bootstrap-ui
能根據該文檔說明,對該接口的使用情況一目了然。
在線調試:提供在線接口聯調的強大功能,自動解析當前接口參數,同時包含表單驗證,調用參數可返回接口響應內容、headers
、Curl
請求命令實例、響應時間、響應狀態碼等信息,幫助開發者在線調試,而不必通過其他測試工具測試接口是否正確,簡潔、強大。
SpringBoot使用knife4j進行在線接口調試
注入依賴
1
2
3
4
5
|
< dependency > < groupId >com.github.xiaoymin</ groupId > < artifactId >knife4j-spring-boot-starter</ artifactId > < version >2.0.4</ version > </ dependency > |
SwaggerConfig.class :knife4j配置類
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
@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(); } } |
驗證
測試接口
1
2
3
4
5
6
7
8
|
@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在線接口調試內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!
原文鏈接:https://blog.csdn.net/weixin_40990818/article/details/108427053