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

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

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

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

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

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

解決辦法有兩種,轉(zhuǎn)義和配置Tomcat

轉(zhuǎn)義字符就不說了,下面貼上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;
    }
}

請求參數(shù)包含[]特殊符號的問題

springBoot 版本 2.0.4.RELEASE

當參數(shù)含有特殊符號 [] 報錯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 (){
        // 修改內(nèi)置的 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調(diào)用接口

控制臺輸出結(jié)果

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

相關(guān)文章

  • Java 中 Map 集合的三種遍歷方式小結(jié)

    Java 中 Map 集合的三種遍歷方式小結(jié)

    這篇文章主要介紹了Java 中 Map 集合的三種遍歷方式,每種遍歷方式結(jié)合示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-12-12
  • java實現(xiàn)圖片上插入文字并保存

    java實現(xiàn)圖片上插入文字并保存

    這篇文章主要為大家詳細介紹了java實現(xiàn)圖片上插入文字并保存,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-06-06
  • java與C 代碼運行效率的對比(整理)

    java與C 代碼運行效率的對比(整理)

    最近和朋友無意間討論起了 有關(guān)java 和C 的 效率問題, (我是java 推介者, 他是 c 語言推介者, 他做的是嵌入式)故,想通過網(wǎng)絡(luò)查詢一下, 總結(jié)一下,兩者到底效率如何,其有何差異,原因又是啥?各種優(yōu)勢有在何處?
    2021-04-04
  • java驗證碼組件kaptcha使用方法

    java驗證碼組件kaptcha使用方法

    這篇文章主要介紹了java驗證碼組件kaptcha使用方法,很不錯的一個組件,可以在JAVA開發(fā)中使用,大家都試試吧
    2013-11-11
  • java實現(xiàn)水仙花數(shù)的計算

    java實現(xiàn)水仙花數(shù)的計算

    這篇文章主要為大家詳細介紹了java實現(xiàn)水仙花數(shù)的計算,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • 淺析Java中的異常處理機制

    淺析Java中的異常處理機制

    這篇文章主要介紹了Java中的異常處理機制的相關(guān)資料,幫助大家更好的理解和學習Java,感興趣的朋友可以了解下
    2020-11-11
  • java中double轉(zhuǎn)化為BigDecimal精度缺失的實例

    java中double轉(zhuǎn)化為BigDecimal精度缺失的實例

    下面小編就為大家?guī)硪黄猨ava中double轉(zhuǎn)化為BigDecimal精度缺失的實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03
  • SpringBoot監(jiān)聽器的實現(xiàn)示例

    SpringBoot監(jiān)聽器的實現(xiàn)示例

    在SpringBoot中,你可以使用監(jiān)聽器來響應(yīng)特定的事件,本文主要介紹了SpringBoot監(jiān)聽器的實現(xiàn)示例,具有一定的參考價值,感興趣的可以了解一下
    2023-12-12
  • Hibernate原理及應(yīng)用

    Hibernate原理及應(yīng)用

    本文主要介紹了Hibernate原理及應(yīng)用。具有很好的參考價值,下面跟著小編一起來看下吧
    2017-02-02
  • Springmvc的運行流程圖文詳解

    Springmvc的運行流程圖文詳解

    今天小編就為大家分享一篇關(guān)于Springmvc的運行流程圖文詳解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-01-01

最新評論