如何在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。
相關文章
- 物件點查詢和中括號查詢的區別物件
- SQL中多條件查詢括號的用途SQL
- JSON 字串中的中括號和大括號區別詳解JSON字串
- sqlserver查詢長括號[資料SQLServer
- [PHP字串]②--花括號{}的作用PHP字串
- JavaScript取出字串中括號裡的內容JavaScript字串
- 如何在 Linux 中查詢服務的埠號Linux
- 理解正規表示式中的括號 (),方括號 [] 和大括號 {}
- mysql 如何查詢逗號“,”分割的字串MySql字串
- Matlab中的括號()[]{}Matlab
- JavaScript 中URL 查詢字串(query string)的序列與反序列化JavaScript字串
- js正規表示式獲取字串中多個大括號{}中的內容,包括大括號並放入陣列中JS字串陣列
- JavaScript中圓括號()和方括號[]的一個特殊用法JavaScript
- C# 正規表示式提取字串中括號裡的值C#字串
- 萬用字元 and [] 中括號的用法字元
- 演算法篇-字串-TeX括號演算法字串
- interleave字串;及括號匹配分析字串
- 查詢手機號碼是否支援攜號轉網的API介面API
- 將List中的資料組成用逗號分隔的字串,如'a','b','c'字串
- 查詢字串中連續出現的字元字串字元
- 正則中括號點符號符號
- python的學習(三)----中括號的使用Python
- 人大金倉切割逗號拼接的字串,並使用in來查詢字串
- oracle 9i與10g,11g不同的子查詢括號用法Oracle
- leecode856.括號中的分數
- 裝置支援多箱號查詢,mybatis標籤MyBatis
- 如何在es中查詢null值Null
- 為何在查詢中索引未被使用索引
- 如何在Clob欄位中查詢
- c++物件建立帶括號與無括號的區別C++物件
- MySQL 查詢字串的個數MySql字串
- 如何在word中進行查詢與替換 word文件中的替換與查詢功能
- SpringBoot 專案如何在tomcat容器中執行Spring BootTomcat
- 第二章 :查詢與排序-------2.18題目講解_在有空字串中的有序字串陣列中查詢排序字串陣列
- 演算法題:判斷括號字串是否有效演算法字串
- Rafy 中的 Linq 查詢支援(根據聚合子條件查詢聚合父)
- 如何在Django ORM中進行not查詢?DjangoORM
- 字串查詢(字串雜湊)字串