国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Knife4j框架介紹

這篇具有很好參考價值的文章主要介紹了Knife4j框架介紹。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

一,什么是Knife4j框架

Knife4j是一款基于Swagger 2的在線API文檔框架,是日常開發(fā)中很常用的框架,基于此框架,后端可以和前端開發(fā)人員進行高效溝通。

二,怎樣使用Knife4j框架

使用Knife4j框架只需要以下三步:
1:添加Knife4j的依賴(當前建議使用的Knife4j版本,只適用于Spring Boot 2.6以下版本,不含Spring Boot 2.6)

<dependency>
    <groupId>com.github.xiaoymin</groupId>
    <artifactId>knife4j-spring-boot-starter</artifactId>
    <version>2.0.9</version>
</dependency>

2:在主配置文件(application.properties)中開啟Knife4j的增強模式

knife4j.enable=true

3:添加Knife4j的配置類,進行必要的配置(必須指定控制器的包)

package cn.tedu.csmall.product.config;

import com.github.xiaoymin.knife4j.spring.extension.OpenApiExtensionResolver;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2WebMvc;

/**
 * Knife4j配置類
 *
 * @author java@fwh.cn
 * @version 0.0.1
 */
@Slf4j
@Configuration
@EnableSwagger2WebMvc
public class Knife4jConfiguration {

    /**
     * 【重要】指定Controller包路徑
     */
    private String basePackage = "cn.tedu.csmall.product.controller";
    /**
     * 分組名稱
     */
    private String groupName = "product";
    /**
     * 主機名
     */
    private String host = "http://java.tedu.cn";
    /**
     * 標題
     */
    private String title = "xx商城在線API文檔--管理員管理";
    /**
     * 簡介
     */
    private String description = "xx商城在線API文檔--管理員管理";
    /**
     * 服務條款URL
     */
    private String termsOfServiceUrl = "http://www.apache.org/licenses/LICENSE-2.0";
    /**
     * 聯(lián)系人
     */
    private String contactName = "Java教學研發(fā)部";
    /**
     * 聯(lián)系網(wǎng)址
     */
    private String contactUrl = "http://java.tedu.cn";
    /**
     * 聯(lián)系郵箱
     */
    private String contactEmail = "java@tedu.cn";
    /**
     * 版本號
     */
    private String version = "1.0.0";

    @Autowired
    private OpenApiExtensionResolver openApiExtensionResolver;

    public Knife4jConfiguration() {
        log.debug("加載配置類:Knife4jConfiguration");
    }

    @Bean
    public Docket docket() {
        String groupName = "1.0.0";
        Docket docket = new Docket(DocumentationType.SWAGGER_2)
                .host(host)
                .apiInfo(apiInfo())
                .groupName(groupName)
                .select()
                .apis(RequestHandlerSelectors.basePackage(basePackage))
                .paths(PathSelectors.any())
                .build()
                .extensions(openApiExtensionResolver.buildExtensions(groupName));
        return docket;
    }

    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title(title)
                .description(description)
                .termsOfServiceUrl(termsOfServiceUrl)
                .contact(new Contact(contactName, contactUrl, contactEmail))
                .version(version)
                .build();
    }

}

完成后,啟動項目,通過 http://localhost:端口號/doc.html 即可訪問在線API文檔!

三,關于Knife4j框架的顯示注解

***@Api ***:添加在控制器類上,通過此注解的tags屬性,可以指定模塊名稱,并且,在指定名稱時,建議在名稱前添加數(shù)字作為序號,Knife4j會根據(jù)這些數(shù)字將各模塊升序排列,例如:

@Api(tags = "01. 管理員管理模塊")

@ApiOpearation:添加在控制器類中處理請求的方法上,通過此注解的value屬性,可以指定業(yè)務/請求資源的名稱,例如:

@ApiOperation("添加管理員")

@ApiOperationSupport:添加在控制器類中處理請求的方法上,通過此注解的order屬性(int),可以指定排序序號,Knife4j會根據(jù)這些數(shù)字將各業(yè)務/請求資源升序排列,例如:

@ApiOperationSupport(order = 100)

如果處理請求時,參數(shù)是封裝的POJO類型,需要對各請求參數(shù)進行說明時,應該在此POJO類型的各屬性上使用***@ApiModelProperty注解進行配置,通過此注解的value***屬性配置請求參數(shù)的名稱,通過requeired屬性配置是否必須提交此請求參數(shù)(并不具備檢查功能),例如:

@Data
public class AlbumAddNewDTO implements Serializable {

    /**
     * 相冊名稱
     */
    @ApiModelProperty(value = "相冊名稱", example = "小米10的相冊", required = true)
    private String name;

    /**
     * 相冊簡介
     */
    @ApiModelProperty(value = "相冊簡介", example = "小米10的相冊的簡介", required = true)
    private String description;

    /**
     * 排序序號
     */
    @ApiModelProperty(value = "排序序號", example = "98", required = true)
    private Integer sort;

}

需要注意,@ApiModelProperty還可以用于配置響應時的各數(shù)據(jù)!

對于處理請求的方法的參數(shù)列表中那些未封裝的參數(shù)(例如String、Long),需要在處理請求的方法上使用***@ApiImplicitParam注解來配置參數(shù)的說明,并且,必須配置name屬性,此屬性的值就是方法的參數(shù)名稱,使得此注解的配置與參數(shù)對應上,然后,再通過value屬性對參數(shù)進行說明,還要注意,此屬性的required屬性表示是否必須提交此參數(shù),默認為false***,即使是用于配置路徑上的占位符參數(shù),一旦使用此注解,required默認也會是false,則需要顯式的配置為true,另外,還可以通過dataType配置參數(shù)的數(shù)據(jù)類型,如果未配置此屬性,在API文檔中默認顯示為string,可以按需修改為int、long等。例如:

@ApiImplicitParam(name = "id", value = "相冊id", required = true, dataType = "long")
@PostMapping("/{id:[0-9]+}/delete")
public JsonResult delete(@PathVariable Long id) {
    // 暫不關心方法內(nèi)部的代碼
}

最后效果如下:
knife4j,java,spring,spring boot文章來源地址http://www.zghlxwxcb.cn/news/detail-648374.html

到了這里,關于Knife4j框架介紹的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • Knife4j文檔請求異常(更新)

    Knife4j文檔請求異常(更新)

    在SpringBoot項目中,如果是分不同的模塊開發(fā)。 注解配置 @EnableSwagger2WebMvc 不在啟動類上,而是加到了其他模塊的注解中,可能會導致這種情況發(fā)生。 我的是common一個單獨的模塊,在common模塊中配置了WebMvcConfig。 然后在WebMvcConfig類上面加了注解 @EnableSwagger2WebMvc . 那么,解決方

    2024年01月18日
    瀏覽(38)
  • knife4j生產(chǎn)環(huán)境資源屏蔽

    knife4j生產(chǎn)環(huán)境資源屏蔽

    knife4j是目前比較主流的自動API文檔生成工具,在生產(chǎn)環(huán)境使用的過程中,我們一般會屏蔽或者去除Swagger的文檔口徑,防止接口信息泄露,保證系統(tǒng)安全。 但是最近在開發(fā)過程中使用knife4j-spring-boot-starter 3.0.2過程中,發(fā)現(xiàn)根據(jù)官網(wǎng)說明配置后,還是有部分Swagger的文檔口徑無法

    2024年02月07日
    瀏覽(22)
  • knife4j依賴報錯-----------解決方法

    knife4j依賴報錯-----------解決方法

    1.可以嘗試clean 再刷新maven 2.從中央倉庫中重新加載 快捷鍵:Ctrl+Alt+Shift+S 或者file下打開Project Structure... 選擇上面的+號,.m2文件夾下,如果有下載好的?knife4j 文件可以全部刪除或者移動到別的位置,再繼續(xù)添加,也可以選擇Jar 找到knife4j文件指定其中一個文件,把上圖中報錯

    2024年02月12日
    瀏覽(20)
  • springboot集成knife4j詳細教程

    springboot集成knife4j詳細教程

    使用原生的swagger作為接口文檔,功能不夠強大,并且默認的ui比較簡陋,不符合大眾審美。所以實際開發(fā)中推薦使用knife4j對swagger進行增強。knife4j的地址:https://gitee.com/xiaoym/knife4j 想要使用knife4j非常簡單,只要在Springboot項目中引入knife4j的依賴即可 注意:引入knife4j后會自動

    2024年02月20日
    瀏覽(22)
  • Swagger + Knife4j 接口文檔的整合

    Swagger + Knife4j 接口文檔的整合

    Swagger 接口文檔的整合: 引入依賴(Swagger 或 Knife4j)。 自定義 Swagger 配置類。 定義需要生成接口文檔的代碼位置(Controller)。 注意:線上環(huán)境不要把接口暴露出去?。?!可以通過在 SwaggerConfig 配置文件開頭加上 @Profile({“dev”, “test”}) 限定配置僅在部分環(huán)境開啟。 啟動

    2024年01月20日
    瀏覽(23)
  • 第十三章 SpringBoot整合knife4j

    第十三章 SpringBoot整合knife4j

    ??作者主頁:青花鎖 ??簡介:Java領域優(yōu)質(zhì)創(chuàng)作者??、Java微服務架構(gòu)公號作者?? ??簡歷模板、學習資料、面試題庫、技術(shù)互助 ??文末獲取聯(lián)系方式 ?? [Java項目實戰(zhàn)] 介紹Java組件安裝、使用;手寫框架等 [Aws服務器實戰(zhàn)] Aws Linux服務器上操作nginx、git、JDK、Vue等 [Java微服務

    2024年02月03日
    瀏覽(21)
  • 【SpringBoot】Swagger和knife4j的使用

    【SpringBoot】Swagger和knife4j的使用

    springboot筆記集合: springboot筆記合計 沒用的廢話理論不多說,會用就完了 Swagger 是一種開源的API描述語言,就是描述API的, 同時Swagger還提供了一組工具(也叫Swagger),可以幫助開發(fā)人員自動生成API文檔、測試API并與其他系統(tǒng)集成。 Knife4j是基于Swagge語言延伸的另一組api工具,簡

    2024年02月10日
    瀏覽(20)
  • springboot整合Knife4j--token頭驗證

    springboot整合Knife4j--token頭驗證

    Knife4j其實就是增強版本的swagger,過多的介紹我就不說了,一搜一大把,直接開始吧哈哈 1.引入pom依賴 需要其他版本的可以去https://mvnrepository.com/ ?自己選擇。 2.配置類 鏈式調(diào)用時api指定需要掃描的包,如果在配置加入@ConditionalOnProperty注解可以在yml文件配置用戶名密碼等等,

    2023年04月08日
    瀏覽(25)
  • springboot整合knife4j版本錯誤解決辦法

    springboot整合knife4j版本錯誤解決辦法

    在springboot 2.xx的版本中整合knife4j出現(xiàn)如下錯誤解決辦法: 如果 springboot version = 2.6,需要添加如下配置(yml文件中): spring: mvc: pathmatch: matching-strategy: ANT_PATH_MATCHER 第二種辦法可以到官網(wǎng)快速開始 | Knife4j (xiaominfo.com) 下載最新的依賴 dependency groupIdcom.github.xiaoymin/groupId artifa

    2023年04月20日
    瀏覽(15)
  • Knife4j系列--使用-教程-實例-配置 詳細講解

    Knife4j系列--使用-教程-實例-配置 詳細講解

    Knife4j是基于springboot構(gòu)建的一個文檔生成工具,它可以讓開發(fā)者為我們的應用生成API文檔,目的是可以更加方便的基于API文檔進行測試,生成的文檔還可以導出,然后給到前端開發(fā)團隊,前端開發(fā)團隊可以基于API接口寫具體的調(diào)用。 Knife4j 功能強大,易于操作。 Knife4j 的UI界面

    2024年02月10日
    瀏覽(20)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包