knife4j簡介
前身:swagger-bootstrap-ui
swagger簡介
Swagger是一個API接口管理工具,支持在線測試接口數據,根據配置自動生成API文檔,結合spring mvc而提供界面化方法文檔的一個開源框架。
Swagger主要的項目
Swagger是一組開源項目,主要項目如下:
Swagger-tools:提供各種與Swagger進行集成和交互的工具。例如模式檢驗、Swagger 1.2文檔轉換成Swagger 2.0文檔等功能。
Swagger-core: 用於Java/Scala的的Swagger實現。與JAX-RS(Jersey、Resteasy、CXF…)、Servlets和Play框架進行集成。
Swagger-js: 用於JavaScript的Swagger實現。
Swagger-node-express: Swagger模塊,用於node.js的Express web應用框架。
Swagger-ui:一個無依賴的HTML、JS和CSS集合,可以為Swagger兼容API動態生成優雅文檔。
Swagger-codegen:一個模板驅動引擎,通過分析用戶Swagger資源聲明以各種語言生成客戶端代碼。
Swagger-editor:可讓使用者在瀏覽器里以YAML格式編輯Swagger API規范並實時預覽文檔。可以生成有效的Swagger JSON描述,並用於所有Swagger工具(代碼生成、文檔等等)中。
Swagger-Bootstrap-UI簡介
Swagger-Bootstrap-UI是springfox-swagger的增強UI實現,為Java開發者在使用Swagger的時候,能擁有一份簡潔、強大的接口文檔體驗。
knife4j特點
-
文檔說明:根據Swagger的規范說明,詳細列出接口文檔的說明,包括接口地址、類型、請求示例、請求參數、響應示例、響應參數、響應碼等信息,使用swagger-bootstrap-ui能根據該文檔說明,對該接口的使用情況一目了然。
-
在線調試:提供在線接口聯調的強大功能,自動解析當前接口參數,同時包含表單驗證,調用參數可返回接口響應內容、headers、Curl請求命令實例、響應時間、響應狀態碼等信息,幫助開發者在線調試,而不必通過其他測試工具測試接口是否正確,簡介、強大。
knife4j使用
1.創建springboot項目
2.添加依賴
<dependencies> <dependency> <groupId>com.github.xiaoymin</groupId> <artifactId>knife4j-spring-boot-starter</artifactId> <!--在引用時請在maven中央倉庫搜索最新版本號--> <version>2.0.2</version> </dependency> </dependencies>
3.配置類
@Configuration @EnableSwagger2 @EnableKnife4j @Import(BeanValidatorPluginsConfiguration.class) public class SwaggerConfiguration {
@Bean(value = "defaultApi2") public Docket defaultApi2() { Docket docket=new Docket(DocumentationType.SWAGGER_2) .apiInfo(apiInfo()) //分組名稱 .groupName("2.X版本") .select() //這里指定Controller掃描包路徑 .apis(RequestHandlerSelectors.basePackage("com.swagger.bootstrap.ui.demo.new2")) .paths(PathSelectors.any()) .build(); return docket; }
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("大學生專業學科競賽項目過程管理系統")
.description("大學生專業學科競賽項目過程管理系統t文檔")
.termsOfServiceUrl("")
.version("3.0.0")
.build();
}
}
注解說明
@EnableSwagger2
該注解是Springfox-swagger框架提供的使用Swagger注解,該注解必須加
@EnableKnife4j
該注解是knife4j
提供的增強注解,Ui提供了例如動態參數、參數過濾、接口排序等增強功能,如果你想使用這些增強功能就必須加該注解,否則可以不用加
4.訪問
在瀏覽器輸入地址:http://host:port/doc.html
knife4j資料
文檔:https://doc.xiaominfo.com/guide/useful.html
示例:https://gitee.com/xiaoym/swagger-bootstrap-ui-demo
博文:https://www.cnblogs.com/fby698/p/11581845.html