亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

springboot整合knife4j全過程

 更新時間:2023年12月08日 08:54:58   作者:qingkong2358103969  
這篇文章主要介紹了springboot整合knife4j全過程,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

1.首先引用Knife4j的starter

Maven坐標如下:

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

2.以在配置文件中進行開啟

部分配置如下:

# springdoc-openapi項目配置
springdoc:
  swagger-ui:
    path: /swagger-ui.html
    tags-sorter: alpha
    operations-sorter: alpha
  api-docs:
    path: /v3/api-docs
  group-configs:
    - group: 'default'
      paths-to-match: '/**'
      packages-to-scan: com.xiaominfo.knife4j.demo.web
# knife4j的增強配置,不需要增強可以不配
knife4j:
  enable: true
  setting:
    language: zh_cn

3.最后使用OpenAPI3的規(guī)范注解

注釋各個Spring的REST接口

示例代碼如下:

@RestController
@RequestMapping("body")
@Tag(name = "body參數(shù)")
public class BodyController {

   @Operation(summary = "普通body請求")
   @PostMapping("/body")
   public ResponseEntity<FileResp> body(@RequestBody FileResp fileResp){
       return ResponseEntity.ok(fileResp);
   }

   @Operation(summary = "普通body請求+Param+Header+Path")
   @Parameters({
           @Parameter(name = "id",description = "文件id",in = ParameterIn.PATH),
           @Parameter(name = "token",description = "請求token",required = true,in = ParameterIn.HEADER),
           @Parameter(name = "name",description = "文件名稱",required = true,in=ParameterIn.QUERY)
   })
   @PostMapping("/bodyParamHeaderPath/{id}")
   public ResponseEntity<FileResp> bodyParamHeaderPath(@PathVariable("id") String id,@RequestHeader("token") String token, @RequestParam("name")String name,@RequestBody FileResp fileResp){
       fileResp.setName(fileResp.getName()+",receiveName:"+name+",token:"+token+",pathID:"+id);
       return ResponseEntity.ok(fileResp);
   }
}

4.最后訪問Knife4j的文檔

地址:http://ip:port/doc.html即可查看文檔

注意的是:如果在配置文件中修改context-path信息,比如context-path: /imageanalyse,

那訪問地址就是http://ip:port//imageanalyse/doc.html

也可以建立一個默認基礎Controller,當請求路徑是/或者/swagger時,路由默認調(diào)轉(zhuǎn)到相對應的頁面上

@RestController
@Tag(name = "默認基礎Controller")
public class IndexController {


    @Value("${server.servlet.context-path:#{null}}")
    private String contextPath;

    /**
     * 自動跳轉(zhuǎn)Knife4j-UI地址
     * 
     * @param response
     * @throws IOException
     */
    @Operation(summary = "默認頁跳轉(zhuǎn)knife4j-ui")
    @GetMapping("/")
    public void index(HttpServletResponse response) throws IOException {
        String redirectPath="/doc.html";
        if(contextPath !=null && contextPath.length()>0){
            redirectPath = contextPath+redirectPath;
        }
        response.sendRedirect(redirectPath);
    }

    /**
     * 自動跳轉(zhuǎn)Swagger-UI地址
     * 
     * @param response
     * @throws IOException
     */
    @Operation(summary = "默認頁跳轉(zhuǎn)swagger-ui")
    @GetMapping("/swagger")
    public void swagger(HttpServletResponse response) throws IOException {
        String redirectPath="/swagger-ui/index.html";
        if(contextPath !=null && contextPath.length()>0){
            redirectPath = contextPath+redirectPath;
        }
        response.sendRedirect(redirectPath);
    }
}

總結(jié)

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

相關文章

  • SpringBoot使用log4j2將日志記錄到文件及自定義數(shù)據(jù)庫的配置方法

    SpringBoot使用log4j2將日志記錄到文件及自定義數(shù)據(jù)庫的配置方法

    這篇文章主要介紹了SpringBoot使用log4j2將日志記錄到文件及自定義數(shù)據(jù)庫的配置方法,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2024-03-03
  • Ubuntu 16.04 安裝 java 8的方法

    Ubuntu 16.04 安裝 java 8的方法

    這篇文章主要介紹了Ubuntu 16.04 安裝 java 8的方法,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-05-05
  • Spring循環(huán)依賴的解決辦法,你真的懂了嗎

    Spring循環(huán)依賴的解決辦法,你真的懂了嗎

    循壞依賴即循環(huán)引用,兩個或多個bean相互引用,最終形成一個環(huán)。這篇文章主要介紹了Spring循環(huán)依賴的解決辦法,需要的朋友可以參考下
    2020-06-06
  • Java String字符串的常用使用方法

    Java String字符串的常用使用方法

    String是JDK提供的一個類,是引用類型,并不是基本的數(shù)據(jù)類型,String用于字符串操作,在之前學習c語言的時候,對于一些字符串,會初始化字符數(shù)組表示,本文給大家介紹Java String字符串的常用使用方法,感興趣的朋友一起看看吧
    2025-04-04
  • Java最簡單的DES加密算法實現(xiàn)案例

    Java最簡單的DES加密算法實現(xiàn)案例

    下面小編就為大家?guī)硪黄狫ava最簡單的DES加密算法實現(xiàn)案例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06
  • 解決SpringBoot使用@Value獲取不到y(tǒng)aml中配置值的問題

    解決SpringBoot使用@Value獲取不到y(tǒng)aml中配置值的問題

    在最近的開發(fā)中遇到一個問題,使用@Value獲取yml文件中配置的屬性時始終獲取不到值,所以本文給大家詳細介紹了SpringBoot使用@Value獲取不到y(tǒng)aml中值的問題分析及解決方法,需要的朋友可以參考下
    2024-01-01
  • Spring中propagation的傳播機制詳解

    Spring中propagation的傳播機制詳解

    這篇文章主要介紹了Spring中propagation的傳播機制詳解,要搞懂事務的傳播機制,那么就要明白邏輯事務中各個事務的關系,才能徹底理解事務傳播特性,在Spring事務中,各個邏輯事務的關系可以是并列、覆蓋或包含,需要的朋友可以參考下
    2023-12-12
  • JDK13.0.1安裝與環(huán)境變量的配置教程圖文詳解(Win10平臺為例)

    JDK13.0.1安裝與環(huán)境變量的配置教程圖文詳解(Win10平臺為例)

    這篇文章主要介紹了JDK13.0.1安裝與環(huán)境變量的配置教程圖文詳解(Win10平臺為例),本文圖文并茂給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-01-01
  • 詳解Mybatis中萬能的Map和模糊查詢寫法

    詳解Mybatis中萬能的Map和模糊查詢寫法

    這篇文章主要介紹了Mybatis中萬能的Map和模糊查詢寫法的相關資料,幫助大家更好的理解和使用Mybatis,感興趣的朋友可以了解下
    2021-03-03
  • 關于IDEA中spring-cloud-starter-alibaba-nacos-discovery 無法引入問題

    關于IDEA中spring-cloud-starter-alibaba-nacos-discovery 無法引入問題

    這篇文章主要介紹了關于IDEA中spring-cloud-starter-alibaba-nacos-discovery 無法引入問題,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-02-02

最新評論