欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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類(lèi)的跳轉(zhuǎn)頁(yè)面寫(xiě)錯(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)行訪(fǎng)問(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è)配置類(lèi)進(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連接mysql數(shù)據(jù)庫(kù)代碼實(shí)例程序

    Java連接mysql數(shù)據(jù)庫(kù)代碼實(shí)例程序

    這篇文章主要介紹了java連接mysql數(shù)據(jù)庫(kù)代碼實(shí)例程序,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-11-11
  • 基于Java?利用Mybatis實(shí)現(xiàn)oracle批量插入及分頁(yè)查詢(xún)

    基于Java?利用Mybatis實(shí)現(xiàn)oracle批量插入及分頁(yè)查詢(xún)

    這篇文章主要介紹了基于Java?利用Mybatis實(shí)現(xiàn)oracle批量插入及分頁(yè)查詢(xún),文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,需要的小伙伴可以參考一下
    2022-07-07
  • SpringBoot加載bean的八種方式總結(jié)

    SpringBoot加載bean的八種方式總結(jié)

    springboot難免要用到bean,但這些bean如何導(dǎo)入,對(duì)于初學(xué)者時(shí)間頭疼的事,下面這篇文章主要給大家介紹了關(guān)于SpringBoot加載bean的八種方式,需要的朋友可以參考下
    2022-10-10
  • Java連接MQ實(shí)現(xiàn)信息查詢(xún)的操作過(guò)程

    Java連接MQ實(shí)現(xiàn)信息查詢(xún)的操作過(guò)程

    本文介紹了如何使用Java連接ApacheRocketMQ實(shí)現(xiàn)信息查詢(xún)的功能,通過(guò)編寫(xiě)Java代碼連接MQ并實(shí)現(xiàn)生產(chǎn)者發(fā)送消息和消費(fèi)者接收并處理消息的過(guò)程,展示了如何在分布式系統(tǒng)中實(shí)現(xiàn)訂單處理系統(tǒng)的解耦,感興趣的朋友跟隨小編一起看看吧
    2024-11-11
  • 在java上使用亞馬遜云儲(chǔ)存方法

    在java上使用亞馬遜云儲(chǔ)存方法

    這篇文章主要介紹了在java上使用亞馬遜云儲(chǔ)存方法,首先寫(xiě)一個(gè)配置類(lèi),寫(xiě)一個(gè)controller接口調(diào)用方法存儲(chǔ)文件,本文結(jié)合示例代碼給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2024-01-01
  • Java數(shù)據(jù)結(jié)構(gòu)之平衡二叉樹(shù)的實(shí)現(xiàn)詳解

    Java數(shù)據(jù)結(jié)構(gòu)之平衡二叉樹(shù)的實(shí)現(xiàn)詳解

    平衡二叉樹(shù)又被稱(chēng)為AVL樹(shù)(有別于AVL算法),且具有以下性質(zhì):它是一棵空樹(shù)或它的左右兩個(gè)子樹(shù)的高度差的絕對(duì)值不超過(guò)1,并且左右兩個(gè)子樹(shù)都是一棵平衡二叉樹(shù)。本文將詳解介紹一下平衡二叉樹(shù)的原理與實(shí)現(xiàn),需要的可以參考一下
    2022-03-03
  • 重試框架Guava-Retry和spring-Retry的使用示例

    重試框架Guava-Retry和spring-Retry的使用示例

    spring-retry 和 guava-retry 工具都是線(xiàn)程安全的重試,能夠支持并發(fā)業(yè)務(wù)場(chǎng)景的重試邏輯正確性,本文主要介紹了重試框架Guava-Retry和spring-Retry的使用示例,感興趣的可以一下
    2023-09-09
  • PowerJob的MapProcessor工作流程源碼解讀

    PowerJob的MapProcessor工作流程源碼解讀

    這篇文章主要為大家介紹了PowerJob的MapProcessor工作流程源碼解讀,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2024-01-01
  • Java利用endorsed如何覆蓋jdk提供的類(lèi)詳解

    Java利用endorsed如何覆蓋jdk提供的類(lèi)詳解

    這篇文章主要給大家介紹了關(guān)于Java利用endorsed如何覆蓋jdk提供的類(lèi)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-09-09
  • Java集合中contains方法的效率對(duì)比分析

    Java集合中contains方法的效率對(duì)比分析

    這篇文章主要介紹了Java集合中contains方法的效率對(duì)比分析,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-05-05

最新評(píng)論