如何在SpringBoot/Tomcat的URL查詢字串中的支援括號?
有些Web API 在URL查詢字串中使用方括號,典型的例子是Promethues HTTP API,它使用諸如的查詢引數如:match【】=<series_selector>。不幸的是,許多瀏覽器不符合該規範,並以未編碼形式使用這些字元。這將導致Tomcat返回400錯誤。
為解決此問題,Tomcat 8.5.32引入了HTTP聯結器的兩個配置屬性,以放鬆在URL路徑和查詢字串中處理這些字元的限制。只適合如下字元:
" < > [ \ ] ^ `` { | } |
這兩個屬性是:
- relaxedPathChars -路徑中允許使用未編碼的字元
- relaxedQueryChars -查詢字串中允許使用未編碼的字元
如果您使用的是Spring Boot嵌入式Tomcat伺服器,則可以使用配置屬性 server.tomcat.relaxed-path-chars和server.tomcat.relaxed-query-chars。
在Spring Boot 中2.2.0.M5 新增了Tomcat的這些配置屬性。如果您使用的是舊版的Spring Boot,則可能需要切換到另一個servlet容器,例如Undertow。
相關文章
- 如何在 Linux 中查詢服務的埠號Linux
- sqlserver查詢長括號[資料SQLServer
- JavaScript取出字串中括號裡的內容JavaScript字串
- JavaScript 中URL 查詢字串(query string)的序列與反序列化JavaScript字串
- mysql 如何查詢逗號“,”分割的字串MySql字串
- 理解正規表示式中的括號 (),方括號 [] 和大括號 {}
- js正規表示式獲取字串中多個大括號{}中的內容,包括大括號並放入陣列中JS字串陣列
- C# 正規表示式提取字串中括號裡的值C#字串
- 記錄一次在keil中,查詢ALIGN()括號裡任意字元,ALIGN(.*)字元
- 查詢手機號碼是否支援攜號轉網的API介面API
- SpringBoot 專案如何在tomcat容器中執行Spring BootTomcat
- 萬用字元 and [] 中括號的用法字元
- 有效的括號
- 人大金倉切割逗號拼接的字串,並使用in來查詢字串
- latex 中乘號、恆等號、花括號的寫法
- MySQL 查詢字串的個數MySql字串
- leecode856.括號中的分數
- {} 花括號的用法
- [leetcode]有效的括號LeetCode
- 裝置支援多箱號查詢,mybatis標籤MyBatis
- 第二章 :查詢與排序-------2.18題目講解_在有空字串中的有序字串陣列中查詢排序字串陣列
- SpringBoot配置外部Tomcat並支援JSPSpring BootTomcatJS
- 如何在 Linux 中查詢最大的 10 個檔案Linux
- Python中查詢字串某個字元最常用的方法!Python字串字元
- 如何在es中查詢null值Null
- 字串查詢(字串雜湊)字串
- [20221123]19cDBA_EXPRESSION_STATISTICS查詢expression_text中字串帶雙引號的問題Express字串
- 如何在word中進行查詢與替換 word文件中的替換與查詢功能
- latex 中乘號、恆等好、花括號的寫法
- c++物件建立帶括號與無括號的區別C++物件
- LeetCode有效的括號(Python)LeetCodePython
- 20. 有效的括號
- 演算法題:判斷括號字串是否有效演算法字串
- Python有效括號字串判斷和深度計算Python字串
- python怎麼查詢字串中是否包含某個字串Python字串
- 如何在Django ORM中進行not查詢?DjangoORM
- 在word文件中全部的文字出現了灰色背景,而且有中括號括起。
- Python字串string的查詢和替換Python字串