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

SpringBoot URL帶有特殊字符([]/{}等),報400錯誤的解決

 更新時間:2022年02月16日 11:01:11   作者:fang1344  
這篇文章主要介紹了SpringBoot URL帶有特殊字符([]/{}等),報400錯誤的解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

SpringBoot URL帶有特殊字符([]/{}等),報400

今天使用springboot開發(fā)接口,版本——2.1.3.RELEASE,需要接收json格式的字符串數據,json串中只有大括號時還正常,沒有400,但是在傳json數組時,帶有中括號[],攔截器都不進就直接400,經過一陣排查,json格式等都沒有問題。

最后百度得知Tomcat的高版本(具體從哪個版本開始沒有具體了解)中增加了一個新特性,就是嚴格按照 RFC 3986規(guī)范進行訪問解析,而 RFC 3986規(guī)范規(guī)定Url中只允許包含英文字母(a-zA-Z)、數字(0-9)、-_.~4個特殊字符以及所有保留字符(RFC3986中指定了以下字符為保留字符:! * ’ ( ) ; : @ & = + $ , / ? # [ ])。

解決辦法有兩種,轉義和配置Tomcat

轉義字符就不說了,下面貼上2.1.3.RELEASE版本Springboot的配置方法:

@Configuration
public class XxxConfig   {
    @Bean
    public ServletWebServerFactory webServerFactory() {
        TomcatServletWebServerFactory fa = new TomcatServletWebServerFactory();
        fa.addConnectorCustomizers((TomcatConnectorCustomizer) connector -> connector.setProperty("relaxedQueryChars", "[]{}"));
        return fa;
    }
}

請求參數包含[]特殊符號的問題

springBoot 版本 2.0.4.RELEASE

當參數含有特殊符號 [] 報錯400

解決方案類似springMvc修改tomcat配置,springBoot 啟動類中添加 bean

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.embedded.tomcat.TomcatConnectorCustomizer;
import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;
import org.springframework.context.annotation.Bean;
@SpringBootApplication
public class SigncallbackApplication {
    public static void main(String[] args) {
        SpringApplication.run(SigncallbackApplication.class, args);
    }
    @Bean
    public TomcatServletWebServerFactory tomcatServletWebServerFactory (){
        // 修改內置的 tomcat 容器配置
        TomcatServletWebServerFactory tomcatServlet = new TomcatServletWebServerFactory();
        tomcatServlet .addConnectorCustomizers(
                (TomcatConnectorCustomizer) connector -> connector.setProperty("relaxedQueryChars", "[]{}")
        );
        return tomcatServlet ;
    }
}

XXXController1.java

import com.alibaba.fastjson.JSONObject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.*;
/**
 * @author: ma dengling
 * @create: 2020-04-13 11:09
 * @Desc:
 */
@RestController
@RequestMapping(value = {"/signcallback1"})
public class TpnHtqzLogController1 {
    private static final Logger log = LoggerFactory.getLogger(TpnHtqzLogController1.class);
    @RequestMapping(value = "/htqz_log")
    public String htqzLog(String jsonString) {
        log.info(jsonString);
        JSONObject jsonObject = JSONObject.parseObject(jsonString);
        String callBackAction = jsonObject.getString("action");
        return callBackAction;
    }
}

postman調用接口

控制臺輸出結果

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

相關文章

  • Python單元測試_使用裝飾器實現測試跳過和預期故障的方法

    Python單元測試_使用裝飾器實現測試跳過和預期故障的方法

    下面小編就為大家?guī)硪黄狿ython單元測試_使用裝飾器實現測試跳過和預期故障的方法。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06
  • springboot?filter配置多個時,執(zhí)行順序問題

    springboot?filter配置多個時,執(zhí)行順序問題

    這篇文章主要介紹了springboot?filter配置多個時,執(zhí)行順序問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • 如何將Mybatis連接到ClickHouse

    如何將Mybatis連接到ClickHouse

    這篇文章主要介紹了如何將Mybatis連接到ClickHouse,幫助大家更好得理解和學習使用Mybatis,感興趣的朋友可以了解下
    2021-03-03
  • Idea集成ApiFox插件及使用小結

    Idea集成ApiFox插件及使用小結

    本文介紹了如何使用Apifox和IntelliJ IDEA插件來整理和生成接口文檔,包括配置Apifox和IntelliJ IDEA插件、代碼案例以及使用方法,感興趣的朋友跟隨小編一起看看吧
    2024-11-11
  • Java中l(wèi)ist.foreach()和list.stream().foreach()用法詳解

    Java中l(wèi)ist.foreach()和list.stream().foreach()用法詳解

    在Java中List是一種常用的集合類,用于存儲一組元素,List提供了多種遍歷元素的方式,包括使用forEach()方法和使用Stream流的forEach()方法,這篇文章主要給大家介紹了關于Java中l(wèi)ist.foreach()和list.stream().foreach()用法的相關資料,需要的朋友可以參考下
    2024-07-07
  • Java中集合和數組的排序方式小結

    Java中集合和數組的排序方式小結

    這篇文章主要介紹了Java中集合和數組的排序方式小結,本文講解了對數字數組、字符數組排序以及集合序列的排序,需要的朋友可以參考下
    2015-01-01
  • Java利用遺傳算法求解最短路徑問題

    Java利用遺傳算法求解最短路徑問題

    遺傳算法(Genetic Algorithm,GA)最早是由美國的John holland于20世紀70年代提出,該算法是根據大自然中生物體進化規(guī)律而設計提出的。本文將利用遺傳算法求解最短路徑問題,需要的可以參考一下
    2022-06-06
  • SpringBoot工程搭建打包、啟動jar包和war包的教程圖文詳解

    SpringBoot工程搭建打包、啟動jar包和war包的教程圖文詳解

    這篇文章主要介紹了SpringBoot工程搭建打包、啟動jar包和war包的教程,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-09-09
  • 解決Springboot2.1.x配置Activiti7單獨數據源問題

    解決Springboot2.1.x配置Activiti7單獨數據源問題

    這篇文章主要介紹了Springboot2.1.x配置Activiti7單獨數據源問題,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-09-09
  • java 實現文件夾的拷貝實例代碼

    java 實現文件夾的拷貝實例代碼

    這篇文章主要介紹了java 實現文件夾的拷貝實例代碼的相關資料,需要的朋友可以參考下
    2017-04-04

最新評論

大洼县| 淅川县| 龙里县| 南丹县| 驻马店市| 房产| 稻城县| 光山县| 延津县| 巧家县| 洪湖市| 睢宁县| 鸡东县| 莎车县| 昌平区| 弥勒县| 灵川县| 东海县| 黔东| 陇川县| 阿城市| 利川市| 毕节市| 宁明县| 宽城| 阿坝县| 兴海县| 新乐市| 贵南县| 乌鲁木齐县| 湘潭市| 濮阳县| 卢湾区| 南充市| 拉萨市| 沙洋县| 龙门县| 奎屯市| 西贡区| 沾化县| 铁岭市|