SpringCloud 查詢字符串編碼

2023-11-23 11:51 更新

在處理傳入請求時,查詢參數(shù)將被解碼,以便可以在Zuul過濾器中進行修改。然后將它們重新編碼,在路由過濾器中重建后端請求。例如,如果結果是使用Javascript的encodeURIComponent()方法編碼的,則結果可能不同于原始輸入。雖然這在大多數(shù)情況下不會引起問題,但某些web服務器可能對復雜查詢字符串的編碼很挑剔。

要強制對查詢字符串進行原始編碼,可以將特殊標志傳遞給ZuulProperties,以便使用HttpServletRequest::getQueryString方法按原樣使用查詢字符串,如以下示例所示:

application.yml。 

 zuul:
  forceOriginalQueryStringEncoding: true
該特殊標志僅適用于SimpleHostRoutingFilter。另外,您松開了使用RequestContext.getCurrentContext().setRequestQueryParams(someOverriddenParameters)輕松覆蓋查詢參數(shù)的功能,因為現(xiàn)在直接在原始HttpServletRequest上獲取了查詢字符串。
以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號