最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

關(guān)于knife4j的使用及配置

 更新時間:2023年06月26日 08:38:48   作者:_不負(fù)時光  
這篇文章主要介紹了關(guān)于knife4j的使用及配置,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

knife4j的使用配置

關(guān)鍵詞:swagger、springfox、swagger-bootstrap-ui

說明:一款更加美化,實(shí)用、方便生成漂亮離線文檔的接口文檔工具

第一步

引入依賴

?<dependency>
? ? ? ? ? ? <groupId>com.github.xiaoymin</groupId>
? ? ? ? ? ? <artifactId>knife4j-spring-boot-starter</artifactId>
? ? ? ? ? ? <version>2.0.8</version>
? ? ? ? ? ? <type>pom</type>
? ? ? ? </dependency>

第二步

配置swagger

@EnableSwagger2
@Component
public class Swagger2 {
? ? @Bean
? ? public Docket createRestApi() {
? ? ? ? return new Docket(DocumentationType.SWAGGER_2)
? ? ? ? ? ? ? ? .groupName("default")
? ? ? ? ? ? ? ? .apiInfo(apiInfo())
? ? ? ? ? ? ? ? .select()
? ? ? ? ? ? ? ? .apis(RequestHandlerSelectors.basePackage("xxx.controller"))
? ? ? ? ? ? ? ? .paths(PathSelectors.any())
? ? ? ? ? ? ? ? .build();
? ? }
? ? private ApiInfo apiInfo() {
? ? ? ? return new ApiInfoBuilder()
? ? ? ? ? ? ? ? .title("xxx接口說明")
? ? ? ? ? ? ? ? .description("OpenAPI規(guī)范接口描述")
? ? ? ? ? ? ? ? .version("v1.0")
? ? ? ? ? ? ? ? .contact(new Contact("xxx公司", "http://xxx.com/", "xxx@xxx.com"))
? ? ? ? ? ? ? ? .license("License")
? ? ? ? ? ? ? ? .licenseUrl("http://xxx.com/")
? ? ? ? ? ? ? ? .build();
? ? }
}

第三步

控制器加swagger-ui 注解(略)

第四步

啟動訪問

啟動springboot 項(xiàng)目

訪問:localhost:port/doc.html

knife4j 簡單使用

Swagger作為一款A(yù)PI文檔生成工具,雖然功能已經(jīng)很完善了,但是還是有些不足的地方。

knife4j簡介

knife4j完全遵循了springfox-swagger中的使用方式,并在此基礎(chǔ)上做了增強(qiáng)功能,如果用過Swagger,可以無縫切換到knife4j。

快速開始

1、 在pom.xml中增加knife4j的相關(guān)依賴

<!--整合Knife4j-->
<dependency>
? ? <groupId>com.github.xiaoymin</groupId>
? ? <artifactId>knife4j-spring-boot-starter</artifactId>
? ? <version>2.0.4</version>
</dependency>

2、 在Swagger2Config中增加一個@EnableKnife4j注解,該注解可以開啟knife4j的增強(qiáng)功能

/**
?* Swagger2API文檔的配置
?*/
@Configuration
@EnableSwagger2
@EnableKnife4j
public class Swagger2Config {
}

3、運(yùn)行我們的SpringBoot應(yīng)用,訪問API文檔地址即可查看:

http://localhost:8080/doc.html

功能特點(diǎn)

對比下Swagger,看看使用knife4j和它有啥不同之處

1、 返回結(jié)果集支持折疊,方便查看

2、 請求參數(shù)有JSON校驗(yàn)功能

3、 knife4j支持導(dǎo)出離線文檔,方便發(fā)送給別人,支持Markdown格式

直接選擇文檔管理->離線文檔功能,然后選擇下載Markdown即可

4、忽略參數(shù)屬性

有時候我們創(chuàng)建和修改的接口會使用同一個對象作為請求參數(shù),但是我們創(chuàng)建的時候并不需要id,而修改的時候會需要id,此時我們可以忽略id這個屬性。

比如這里的創(chuàng)建商品接口,id、商品數(shù)量、商品評論數(shù)量都可以讓后臺接口生成無需傳遞,可以使用knife4j提供的@ApiOperationSupport注解來忽略這些屬性

@Api(tags = "PmsBrandController", description = "商品品牌管理")
@Controller
@RequestMapping("/brand")
public class PmsBrandController {
? ? @Autowired
? ? private PmsBrandService brandService;
? ? private static final Logger LOGGER = LoggerFactory.getLogger(PmsBrandController.class);
? ? @ApiOperation("添加品牌")
? ? @ApiOperationSupport(ignoreParameters = {"id","productCount","productCommentCount"})
? ? @RequestMapping(value = "/create", method = RequestMethod.POST)
? ? @ResponseBody
? ? public CommonResult createBrand(@RequestBody PmsBrand pmsBrand) {
? ? ? ? CommonResult commonResult;
? ? ? ? int count = brandService.createBrand(pmsBrand);
? ? ? ? if (count == 1) {
? ? ? ? ? ? commonResult = CommonResult.success(pmsBrand);
? ? ? ? ? ? LOGGER.debug("createBrand success:{}", pmsBrand);
? ? ? ? } else {
? ? ? ? ? ? commonResult = CommonResult.failed("操作失敗");
? ? ? ? ? ? LOGGER.debug("createBrand failed:{}", pmsBrand);
? ? ? ? }
? ? ? ? return commonResult;
? ? }
}

總結(jié)

以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Spring Cloud基于zuul實(shí)現(xiàn)網(wǎng)關(guān)過程解析

    Spring Cloud基于zuul實(shí)現(xiàn)網(wǎng)關(guān)過程解析

    這篇文章主要介紹了Spring Cloud基于zuul實(shí)現(xiàn)網(wǎng)關(guān)過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-12-12
  • Spring源碼解析之推斷構(gòu)造方法

    Spring源碼解析之推斷構(gòu)造方法

    今天給大家?guī)淼氖顷P(guān)于Java的相關(guān)知識,文章圍繞著Spring推斷構(gòu)造方法展開,文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下
    2021-06-06
  • 一篇文章弄懂JVM類加載機(jī)制過程以及原理

    一篇文章弄懂JVM類加載機(jī)制過程以及原理

    JVM原理對于初學(xué)者而言,比較晦澀難以理解,概念繁多又比較抽象,很多時候感覺看不見摸不著,還不好驗(yàn)證,下面這篇文章主要給大家介紹了關(guān)于如何通過一篇文章弄懂JVM類加載機(jī)制過程及原理的相關(guān)資料,需要的朋友可以參考下
    2023-02-02
  • javaweb servlet中使用請求轉(zhuǎn)發(fā)亂碼的實(shí)現(xiàn)

    javaweb servlet中使用請求轉(zhuǎn)發(fā)亂碼的實(shí)現(xiàn)

    下面小編就為大家?guī)硪黄猨avaweb servlet中使用請求轉(zhuǎn)發(fā)亂碼的實(shí)現(xiàn)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-08-08
  • Java?如何獲取某年的第一天和最后一天

    Java?如何獲取某年的第一天和最后一天

    在統(tǒng)計的數(shù)據(jù)是時候,要統(tǒng)計某年的數(shù)據(jù),開始時間是某年的第一天,結(jié)束時間是某年的最后一天,該如何獲取某年的第一天和最后一天,今天通過本文介紹下Java獲取某年的第一天和最后一天,需要的朋友可以參考下
    2023-07-07
  • sqlmap 使用教程(從入門到進(jìn)階)

    sqlmap 使用教程(從入門到進(jìn)階)

    sqlmap是一款強(qiáng)大的開源 SQL 注入自動化測試工具,支持識別并利用多種類型的 SQL 注入漏洞(Boolean-based、Time-based、Error-based、Stacked Queries 等),本文給大家介紹sqlmap使用教程,感興趣的朋友一起看看吧
    2016-11-11
  • Java實(shí)現(xiàn)按字節(jié)長度截取字符串

    Java實(shí)現(xiàn)按字節(jié)長度截取字符串

    在Java中,由于字符串可能包含多字節(jié)字符,直接按字節(jié)長度截取可能會導(dǎo)致亂碼或截取不準(zhǔn)確的問題,下面我們就來看看幾種按字節(jié)長度截取字符串的方法吧
    2025-05-05
  • SpringMVC實(shí)現(xiàn)RESTful風(fēng)格:@PathVariable注解的使用方式

    SpringMVC實(shí)現(xiàn)RESTful風(fēng)格:@PathVariable注解的使用方式

    這篇文章主要介紹了SpringMVC實(shí)現(xiàn)RESTful風(fēng)格:@PathVariable注解的使用方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • 如何用Java的swing編寫簡單計算器

    如何用Java的swing編寫簡單計算器

    這篇文章主要給大家介紹了關(guān)于如何用Java的swing編寫簡單計算器的相關(guān)資料,通過本文可以設(shè)計一個圖形界面的簡易計算器,完成簡單的算術(shù)運(yùn)算符,可以完成加法、減法、乘法、除法和取余運(yùn)算,需要的朋友可以參考下
    2023-12-12
  • Spring Boot Actuator未授權(quán)訪問漏洞的問題解決

    Spring Boot Actuator未授權(quán)訪問漏洞的問題解決

    Spring Boot Actuator 端點(diǎn)的未授權(quán)訪問漏洞是一個安全性問題,可能會導(dǎo)致未經(jīng)授權(quán)的用戶訪問敏感的應(yīng)用程序信息,本文就來介紹一下解決方法,感興趣的可以了解一下
    2023-09-09

最新評論

辽宁省| 普安县| 孝感市| 兖州市| 舟山市| 利川市| 囊谦县| 石泉县| 开平市| 宜宾市| 达日县| 临安市| 石狮市| 阳新县| 鲁山县| 通许县| 尉氏县| 南陵县| 开化县| 侯马市| 莫力| 玉屏| 遵义县| 凤凰县| 遂川县| 寿宁县| 深泽县| 罗平县| 桐梓县| 玉环县| 高清| 都江堰市| 洪雅县| 顺昌县| 东丰县| 积石山| 子洲县| 措勤县| 垦利县| 岐山县| 高邮市|