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

SpringBoot3.1.2 引入Swagger報(bào)錯(cuò)Type javax.servlet.http.HttpServletRequest not present解決辦法

這篇具有很好參考價(jià)值的文章主要介紹了SpringBoot3.1.2 引入Swagger報(bào)錯(cuò)Type javax.servlet.http.HttpServletRequest not present解決辦法。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

1.問(wèn)題描述:

引入swagger2.X版本后,導(dǎo)致SpringBoot3.1.2啟動(dòng)報(bào)錯(cuò)

2.原因分析:

SpringBoot3.1.2版本依賴于jakarta依賴包,但是Swagger依賴底層應(yīng)用的javax依賴包,所以只要一啟動(dòng)就會(huì)報(bào)錯(cuò)。

3.解決辦法:

pom.xml文件,移除swagger2

<dependency>
     <groupId>io.springfox</groupId>
     <artifactId>springfox-swagger2</artifactId>
     <version>2.9.2</version>
 </dependency>

 <dependency>
     <groupId>com.github.xiaoymin</groupId>
     <artifactId>swagger-bootstrap-ui</artifactId>
     <version>1.9.0</version>
     <scope>provided</scope>
 </dependency>

加入

<dependency>
    <groupId>io.swagger.core.v3</groupId>
    <artifactId>swagger-annotations</artifactId>
     <version>2.2.15</version>
</dependency>
<dependency>
    <groupId>org.springdoc</groupId>
    <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
    <version>2.1.0</version>
</dependency>

代碼修改

@Api(tags = "")     
改為     
@Tag(name = "")

@ApiModel(value="", description="")     
改為    
@Schema(name="", description="")

@ApiModelProperty(value = "", required = true)     
改為    
@Schema(name= "", description = "", required = true)

@ApiOperation(value = "", notes = "")    
改為    
@Operation(summary = "", description = "")

@ApiParam    改為     @Parameter

@ApiResponse(code = 404, message = "")  
改為
@ApiResponse(responseCode = "404", description = "")

SwaggerConfig.java

package com.example.lyc.springboot.demo.config;

import org.springdoc.core.models.GroupedOpenApi;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class SwaggerConfig {

    @Bean
    public GroupedOpenApi publicApi() {
        return GroupedOpenApi.builder()
                .group("public")
                .pathsToMatch("/public/**")
                .build();
    }

    @Bean
    public GroupedOpenApi privateApi() {
        return GroupedOpenApi.builder()
                .group("private")
                .pathsToMatch("/private/**")
                .build();
    }
}

實(shí)體類

package com.example.lyc.springboot.demo.entity;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Component;

@Data
@AllArgsConstructor
@NoArgsConstructor
@Component
@Schema(name = "User", description = "用戶實(shí)體類")
public class User {
    @Schema(name = "id", description = "用戶id")
    private int id;
    @Schema(name = "userName", description = "用戶名")
    private String userName;
    @Schema(name = "password", description = "密碼")
    private String password;

    /* 省略get、set和帶參構(gòu)造方法 */

}

controller類

package com.example.lyc.springboot.demo.controller;

import com.example.lyc.springboot.demo.config.MicroServiceUrl;
import com.example.lyc.springboot.demo.entity.User;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.beans.factory.annotation.Value;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Slf4j
@RestController
@RequestMapping("/v1")
@Schema(name="", description="")
@Tag(name = "JsonController tags")
public class JsonController {
    @Value("${microservice.url.orderUrl}")
    String orderUrl;// orderUrl變量值 就是application.yml的url.orderUrl值
    @Autowired
    private User user;// 注入
    @Autowired
    MicroServiceUrl MicroServiceUrl; // 注入配置類

    @GetMapping("/user")
    @ResponseBody
    @Operation(summary = "獲取用戶信息", description = "獲取用戶信息")
    public User getUser() {
        user.setId(1);
        user.setUserName("李銀池");
        user.setPassword("123456");
        // 日志輸出
        log.info("user:{}", user);
        // 返回
        return user;
    }

    /***
     * @Description: list
     * @Author: liyinchi
     * @Date: 2023/9/18 11:17
     * @return map
     */
    @GetMapping("/list")
    @ResponseBody
    @Operation(summary = "獲取用戶列表", description = "獲取用戶列表")
    public List<User> getUserList() {
        List<User> userList = new ArrayList<>();
        User user1 = new User(1, "李銀池", "123456");
        User user2 = new User(2, "王哈哈", "123456");
        userList.add(user1);
        userList.add(user2);
        // 日志輸出
        log.info("userList:{}", userList);
        // 返回?cái)?shù)據(jù)
        return userList;
    }

    /***
     * @Description: map
     * @Author: liyinchi
     * @Date: 2023/9/18 11:17
     * @return map
     */
    @GetMapping("/map")
    @ResponseBody
    @Operation(summary = "獲取用戶信息", description = "獲取用戶信息")
    public Map<String, Object> getMap() {
        Map<String, Object> map = new HashMap<>(3);
        User user = new User(1, "李銀池", "123456");
        map.put("作者信息", user);
        map.put("github", "https://github.com/liyinchigithub");
        map.put("CSDN地址", "https://blog.csdn.net/u013302168");
        map.put("粉絲數(shù)量", 252);
        // 日志輸出
        log.info("map:{}", map);
        // 返回
        return map;
    }

    /***
     * @Description: 讀取application.yml配置文件參數(shù)
     * @Author: liyinchi
     * @Date: 2023/9/18 11:17
     * @return map
     */
    @GetMapping("/getYMLConfig")
    @ResponseBody
    @Operation(summary = "獲取配置文件參數(shù)", description = "獲取配置文件參數(shù)")
    public Map<String,Object> getYMLConfig() {
        Map<String,Object> orderUrlList = new HashMap();
        orderUrlList.put("microservice url orderUrl",orderUrl);
        log.info("orderUrl:{}", orderUrl);
        return orderUrlList;
    }

    /***
     * @Description: 讀取application.yml配置文件參數(shù)
     * @Author: liyinchi
     * @Date: 2023/9/18 11:17
     * @return map
     */
    @GetMapping("/getYMLConfigClass")
    @ResponseBody
    @Operation(summary = "獲取配置文件參數(shù)", description = "獲取配置文件參數(shù)")
    public Map<String,Object> getYMLConfigClass() {
        Map<String,Object> orderUrlList = new HashMap();
        orderUrlList.put("orderUrl",MicroServiceUrl.getOrderUrl());
        orderUrlList.put("userUrl",MicroServiceUrl.getUserUrl());
        orderUrlList.put("shoppingUrl",MicroServiceUrl.getShoppingUrl());
        log.info("getYMLConfigClass orderUrlMap:{}", orderUrlList);
        return orderUrlList;
    }

    /***
     * @Description: 獲取請(qǐng)求體
     * @Date: 20239/18 14:00
     * @param User user
     * @return map
     */
    @PostMapping("/addUser")
    @ResponseBody
    @Operation(summary = "獲取請(qǐng)求體", description = "獲取請(qǐng)求體")
    public Map<String,Object> getUser(@RequestBody @Parameter User user) { // 獲取請(qǐng)求體
        Map<String,Object> map = new HashMap();
        map.put("user",user);
        return map;
    }

}

遇到報(bào)錯(cuò):

java.lang.StringIndexOutOfBoundsException: begin 11, end 10, length 10

SpringBoot3.1.2 引入Swagger報(bào)錯(cuò)Type javax.servlet.http.HttpServletRequest not present解決辦法,servlet,http,網(wǎng)絡(luò)協(xié)議

原因分析:

由于Springdoc?OpenAPI?UI的版本與Spring?Boot的版本不兼容導(dǎo)致的。你正在使用的Springdoc?OpenAPI?UI的版本是2.1.0,而Spring?Boot的版本是3.1.2。這兩個(gè)版本可能存在不兼容的問(wèn)題。

解決辦法:

你可以嘗試將Springdoc?OpenAPI?UI的版本升級(jí)到與Spring?Boot?3.1.2更兼容的版本。你可以在Springdoc的GitHub倉(cāng)庫(kù)的release頁(yè)面查看各個(gè)版本的發(fā)布說(shuō)明,找到一個(gè)與Spring?Boot?3.1.2兼容的版本。

然后,你可以在你的pom.xml文件中更新Springdoc?OpenAPI?UI的版本:

<dependency>
    <groupId>org.springdoc</groupId>
    <artifactId>springdoc-openapi-ui</artifactId>
    <version>新的版本號(hào)</version>
</dependency>

https://github.com/springdoc/springdoc-openapi/releases

?SpringBoot3.1.2 引入Swagger報(bào)錯(cuò)Type javax.servlet.http.HttpServletRequest not present解決辦法,servlet,http,網(wǎng)絡(luò)協(xié)議

?修改成支持springboot3.1.2的版本2.2.0后,成功~

SpringBoot3.1.2 引入Swagger報(bào)錯(cuò)Type javax.servlet.http.HttpServletRequest not present解決辦法,servlet,http,網(wǎng)絡(luò)協(xié)議文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-756307.html

到了這里,關(guān)于SpringBoot3.1.2 引入Swagger報(bào)錯(cuò)Type javax.servlet.http.HttpServletRequest not present解決辦法的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • SpringBoot3中Swagger整合knife4j和springdoc的配置說(shuō)明

    ? springboot3開(kāi)始javax包改成了jakarta,而swagger-oas等包中依然使用的是javax所以報(bào)錯(cuò)。另外springfox已經(jīng)過(guò)時(shí)了,兩年沒(méi)更新了,并且不支持OpenAPI3 標(biāo)準(zhǔn),而SpringBoot3只支持OpenAPI3規(guī)范,所以要遷移到springdoc Knife4J是一款基于Swagger快速生成API文檔和調(diào)試平臺(tái)的開(kāi)源工具,它可以輕松地

    2024年02月04日
    瀏覽(33)
  • 【springboot3.x 記錄】關(guān)于Jakarta包無(wú)法引入的問(wèn)題

    【springboot3.x 記錄】關(guān)于Jakarta包無(wú)法引入的問(wèn)題

    最近想將一些項(xiàng)目升級(jí)到springboot3.x和java17的時(shí)候,發(fā)現(xiàn)項(xiàng)目依賴中有Jakarta的包,但是代碼標(biāo)紅提示沒(méi)有相關(guān)的類,特此記錄一下排查問(wèn)題和最終解決問(wèn)題的思路方法 因?yàn)橹坝袆?chuàng)建過(guò) springboot3.x + java17 的項(xiàng)目,也運(yùn)行正常。所以最近想著將一些舊項(xiàng)目也做一下update,但是不

    2024年02月04日
    瀏覽(238)
  • 【SpringBoot】SpringBoot引入接口文檔生成工具(Swagger+Knife4j)

    由于目前工作項(xiàng)目寫(xiě)的接口越來(lái)越多了,為了能夠更加方便地優(yōu)化接口,以及整理接口文檔,所以就考慮引入接口文檔生成工具。目前的接口文檔生成工具被提及較多的是Swagger,經(jīng)過(guò)了引入嘗試后,Swagger是比較輕松地就被引入了。但是Swagger頁(yè)面屬實(shí)是難以恭維,比較簡(jiǎn)單但

    2024年01月23日
    瀏覽(21)
  • 解決vite-plugin-eslint引入type類型報(bào)錯(cuò)的問(wèn)題

    目前看npm包更新時(shí)間在一年前,報(bào)錯(cuò)原因可能是由于typescript變更導(dǎo)致依賴包package.json不匹配。 看了github上各個(gè)大神提出的解決方案,有點(diǎn)看不懂,搞了很久才大致摸索出了,所以分享下 ———————————————— 思路是使用patch-package修改vite-plugin-eslint包源文件

    2024年03月14日
    瀏覽(57)
  • 勇敢嘗鮮之Springboot3大坑-集成Mybatisplus報(bào)錯(cuò):ddlApplicationRunner

    勇敢嘗鮮之Springboot3大坑-集成Mybatisplus報(bào)錯(cuò):ddlApplicationRunner

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

    2024年03月15日
    瀏覽(15)
  • 升級(jí)springboot3.2.0報(bào)Name for argument of type [java.lang.String] not specified, and parameter name inf

    我這里項(xiàng)目版本是jdk17+springboot3.1.5 升級(jí)為jdk21和springboot3.2.0;升級(jí)過(guò)程總體還是挺順利的,只是訪問(wèn)應(yīng)用時(shí)老報(bào)錯(cuò): Name for argument of type [java.lang.String] not specified, and parameter name information not found in class file either. 這個(gè)錯(cuò)誤,是因?yàn)閟pring6.1 調(diào)整了參數(shù),而springboot會(huì)自動(dòng)幫助設(shè)置

    2024年02月04日
    瀏覽(26)
  • 解決springboot上傳中文文件報(bào)錯(cuò):NoClassDefFoundError: javax/mail/internet/MimeUtility

    解決springboot上傳中文文件報(bào)錯(cuò):NoClassDefFoundError: javax/mail/internet/MimeUtility

    1. 背景: springboot版本:2.7.11 前端使用 UnityEngine.WWWForm 進(jìn)行文件上傳 報(bào)錯(cuò)信息:org.springframework.web.multipart.MultipartException: Failed to parse multipart servlet request; nested exception is java.lang.NoClassDefFoundError: javax/mail/internet/MimeUtility 2 定位問(wèn)題: 3. 缺少 javax.mail.internet.MimeUtility 4. pom引入依

    2024年02月12日
    瀏覽(23)
  • Springboot3整合Mybatis-plus3.5.3報(bào)錯(cuò)

    Springboot3整合Mybatis-plus3.5.3報(bào)錯(cuò)

    ?作者簡(jiǎn)介:大家好,我是Leo,熱愛(ài)Java后端開(kāi)發(fā)者,一個(gè)想要與大家共同進(jìn)步的男人???? ??個(gè)人主頁(yè):Leo的博客 ??當(dāng)前專欄: 報(bào)錯(cuò)以及Bug ?特色專欄: MySQL學(xué)習(xí) ??本文內(nèi)容:記錄一次Docker與Redis沖突 ???個(gè)人小站 :個(gè)人博客,歡迎大家訪問(wèn) ??個(gè)人知識(shí)庫(kù): 知識(shí)庫(kù),

    2024年02月05日
    瀏覽(20)
  • Springboot整合Swagger2后訪問(wèn)swagger-ui.html 404報(bào)錯(cuò)

    Springboot整合Swagger2后訪問(wèn)swagger-ui.html 404報(bào)錯(cuò)

    在spring boot項(xiàng)目中配置Swagger2,配置好了但是訪問(wèn)確實(shí)404,SwaggerConfig中的注入方法也執(zhí)行了還是訪問(wèn)不到頁(yè)面。究其原因是MVC沒(méi)有找到swagger-ui包中的swagger-ui.html文件和css樣式、js等文件。 解決?案: ?案1. 降低Swagger2的使用版本 ?案2. 使?配置?下+swagger-ui.html+指定的css?錄

    2024年02月11日
    瀏覽(27)
  • springboot整合websocket后啟動(dòng)報(bào)錯(cuò):javax.websocket.server.ServerContainer not available

    springboot整合websocket后啟動(dòng)報(bào)錯(cuò):javax.websocket.server.ServerContainer not available

    Springboot使用@ServerEndpoint來(lái)建立websocket鏈接。引入依賴。 配置Websocket springboot項(xiàng)目添加websocket依賴后運(yùn)行測(cè)試類報(bào)如下錯(cuò)誤: 報(bào)的錯(cuò)誤是創(chuàng)建ServerEndpointExporterBean失敗,原因是ServerContainer不可用,那么我們就去看到ServerContainer在ServerEndpointExporter中是怎么注入的。 點(diǎn)進(jìn)去 Serve

    2024年01月18日
    瀏覽(25)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包