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

SpringBoot錯(cuò)誤提示400狀態(tài)問(wèn)題

 更新時(shí)間:2024年08月10日 08:35:31   作者:小胖燕  
這篇文章主要介紹了SpringBoot錯(cuò)誤提示400狀態(tài)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

SpringBoot錯(cuò)誤提示400狀態(tài)

錯(cuò)誤提示400狀態(tài)有兩種原因

1.路徑找不到:

如果是路徑找不到的錯(cuò)誤,則可能是controller類的跳轉(zhuǎn)頁(yè)面寫錯(cuò)了。 

2.提交的數(shù)據(jù)格式不對(duì)

當(dāng)我們提交數(shù)據(jù)時(shí)如果出現(xiàn)400狀態(tài),則大多數(shù)情況下是屬于數(shù)據(jù)格式不對(duì),比如我們的日期格式,SpringBoot的日期格式要求是yyyy/MM/dd,使用 / 分割,所以當(dāng)我們使用 - 就會(huì)出現(xiàn)400錯(cuò)誤提示。 

提交數(shù)據(jù)時(shí)出現(xiàn)400狀態(tài)的錯(cuò)誤提示

如下圖:

錯(cuò)誤提示

在idea中的錯(cuò)誤提示:

這時(shí)候根據(jù)提示,我們可以快速知道是日期格式不對(duì),則我們只需要去修改數(shù)據(jù)格式即可,在application.properties或者application.yml去指定日期格式化。

SpringBoot、網(wǎng)關(guān)接受請(qǐng)求直接報(bào)400

主要原因:

這個(gè)問(wèn)題是由于Tomcat的新版本中增加了一個(gè)新特性,就是嚴(yán)格按照 RFC 3986規(guī)范進(jìn)行訪問(wèn)解析,而 RFC 3986規(guī)范定義了Url中只允許包含英文字母(a-zA-Z)、數(shù)字(0-9)、-_.~4個(gè)特殊字符以及所有保留字符(RFC3986中指定了以下字符為保留字符:! * ’ ( ) ; : @ & = + $ , / ? # [ ])。

SpringBoot接受請(qǐng)求報(bào)400

在發(fā)送請(qǐng)求的URL中包含一些特殊字符時(shí),可以添加一個(gè)配置類進(jìn)行處理:

@Configuration
public class TomcatConfig {
    @Bean
    public TomcatServletWebServerFactory webServerFactory() {
        TomcatServletWebServerFactory factory = new TomcatServletWebServerFactory();
        factory.addConnectorCustomizers((Connector connector) -> {
            connector.setProperty("relaxedPathChars", "\"<>[\\]^`{|}");
            connector.setProperty("relaxedQueryChars", "\"<>[\\]^`{|}");
        });
        return factory;
    }
}

網(wǎng)關(guān)轉(zhuǎn)發(fā)請(qǐng)求時(shí)直接報(bào)400

正常來(lái)說(shuō)網(wǎng)關(guān)這里也是像SpringBoot做配置就可以了,但是由于我的業(yè)務(wù)要求,是通過(guò)網(wǎng)關(guān)轉(zhuǎn)發(fā)路徑到子服務(wù)去獲取靜態(tài)資源,而轉(zhuǎn)發(fā)的時(shí)候路徑是這樣的:

http://ip:port/track/api/video/Track_Calculate/Track_Data/video/[ip][59][20221209094254].mp4

包含了一些相關(guān)的特殊字符“[]”網(wǎng)關(guān)在做轉(zhuǎn)發(fā)的時(shí)候,直接報(bào)了400,過(guò)濾器什么的也都不進(jìn)入,所以請(qǐng)求都攔截不到。

最后是將視頻的path路徑使用URLEncode做處理轉(zhuǎn)成UTF8再返回給前端,然后前端將視頻地址請(qǐng)求過(guò)來(lái)的時(shí)候網(wǎng)關(guān)就可以正常轉(zhuǎn)發(fā)了。

總結(jié)

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

相關(guān)文章

  • java鏈表數(shù)據(jù)結(jié)構(gòu)LinkedList插入刪除元素時(shí)間復(fù)雜度面試精講

    java鏈表數(shù)據(jù)結(jié)構(gòu)LinkedList插入刪除元素時(shí)間復(fù)雜度面試精講

    這篇文章主要為大家介紹了java LinkedList插入和刪除元素的時(shí)間復(fù)雜度面試精講,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-10-10
  • 5個(gè)步驟讓你明白多線程和線程安全

    5個(gè)步驟讓你明白多線程和線程安全

    本文詳細(xì)講解了多線程和線程安全的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-12-12
  • Spring?Boot應(yīng)用中如何動(dòng)態(tài)指定數(shù)據(jù)庫(kù)實(shí)現(xiàn)不同用戶不同數(shù)據(jù)庫(kù)的問(wèn)題

    Spring?Boot應(yīng)用中如何動(dòng)態(tài)指定數(shù)據(jù)庫(kù)實(shí)現(xiàn)不同用戶不同數(shù)據(jù)庫(kù)的問(wèn)題

    讓我們創(chuàng)建一個(gè) Spring Boot 項(xiàng)目首先設(shè)置一個(gè)具有必要依賴項(xiàng)的新 Spring Boot項(xiàng)目,在項(xiàng)目配置中包括 Spring Web、Spring Data JPA 和關(guān)于數(shù)據(jù)庫(kù)的依賴項(xiàng),接下來(lái)介紹Spring?Boot應(yīng)用中如何動(dòng)態(tài)指定數(shù)據(jù)庫(kù),實(shí)現(xiàn)不同用戶不同數(shù)據(jù)庫(kù)的場(chǎng)景?,需要的朋友可以參考下
    2024-04-04
  • Java中的內(nèi)存分配圖解

    Java中的內(nèi)存分配圖解

    這篇文章主要介紹了Java中的內(nèi)存分配圖解,Java 程序運(yùn)行時(shí),需要在內(nèi)存中分配空間。為了提高運(yùn)算效率,就對(duì)空間進(jìn)行了不同區(qū)域的劃分,因?yàn)槊恳黄瑓^(qū)域都有特定的處理數(shù)據(jù)方式和內(nèi)存管理方式,需要的朋友可以參考下
    2023-08-08
  • java 對(duì)象參數(shù)去空格方式代碼實(shí)例

    java 對(duì)象參數(shù)去空格方式代碼實(shí)例

    這篇文章主要介紹了java 對(duì)象參數(shù)去空格方式代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-10-10
  • SpringCloud分布式鏈路跟蹤的方法

    SpringCloud分布式鏈路跟蹤的方法

    這篇文章主要介紹了SpringCloud分布式鏈路跟蹤的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-03-03
  • java?中如何實(shí)現(xiàn)?List?集合去重

    java?中如何實(shí)現(xiàn)?List?集合去重

    這篇文章主要介紹了java?中如何實(shí)現(xiàn)?List?集合去重,List?去重指的是將?List?中的重復(fù)元素刪除掉的過(guò)程,下文操作操作過(guò)程介紹需要的小伙伴可以參考一下
    2022-05-05
  • 一文徹底搞懂Java 中的 SPI 是什么

    一文徹底搞懂Java 中的 SPI 是什么

    這篇文章主要介紹了Java 中的 SPI 是什么,本篇文章將通過(guò)經(jīng)典題目、實(shí)戰(zhàn)解析和面試官視角,幫助你從容應(yīng)對(duì)“SPI”相關(guān)問(wèn)題,贏得技術(shù)面試的加分項(xiàng),需要的朋友可以參考下
    2025-06-06
  • 選擇Spring Boot項(xiàng)目的內(nèi)嵌容器的理由

    選擇Spring Boot項(xiàng)目的內(nèi)嵌容器的理由

    Spring Boot是由Pivotal團(tuán)隊(duì)提供的全新框架,其設(shè)計(jì)目的是用來(lái)簡(jiǎn)化新Spring應(yīng)用的初始搭建以及開(kāi)發(fā)過(guò)程。這篇文章主要介紹了選擇Spring Boot項(xiàng)目的內(nèi)嵌容器,需要的朋友可以參考下
    2017-11-11
  • java日期時(shí)間操作工具類

    java日期時(shí)間操作工具類

    這篇文章主要為大家詳細(xì)介紹了java日期時(shí)間操作工具類,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-12-12

最新評(píng)論

监利县| 长泰县| 七台河市| 盐边县| 兰州市| 修水县| 宁德市| 新乐市| 南开区| 双城市| 威海市| 闵行区| 香港 | 南丰县| 普定县| 民乐县| 固原市| 清涧县| 瑞金市| 花莲县| 上蔡县| 阿克陶县| 贵港市| 睢宁县| 镇雄县| 临漳县| 同心县| 安康市| 交口县| 呼玛县| 临湘市| 西丰县| 溧阳市| 大名县| 兴宁市| 同仁县| 紫云| 荔浦县| 呼伦贝尔市| 新河县| 邵阳市|