我是java新手,我正在嘗試編寫一個實用程序api來加密/解密字符串。我有我的控制器和請求映射工作,並且我有加密/解密方法工作。在Java Web API中使用編碼進行Url路由
我遇到的問題是解密包含正斜槓('/')的字符串。如果我將它在網址中未編碼(例如http://localhost:8080/api/package/util/decrypt/oJfTtchpM9WC/4Oqpu7FZQ==
),則URL路由會中斷(這顯然是爲什麼)。
如果我URL編碼它(如http://localhost:8080/api/package/util/decrypt/oJfTtchpM9WC%2F4Oqpu7FZQ==
)然後在路徑變量中的值是空的。
另請注意,http://localhost:8080/api/package/util/decrypt/oJfTtchpM9WC
(無斜線)工作正常。
似乎每當我在路徑變量中放入一個'%',我就會得到一個空白頁面作爲迴應。不打方法。不拋出異常(我能找到 - 再次,我還是學習環境)
我已經簡化我的解密方法,只輸出路徑變量稱爲data
@RequestMapping(value = "/util/decrypt/{data}", method = RequestMethod.GET)
@ResponseBody
public String decrypt(HttpServletResponse httpResponse,
@PathVariable String data) throws Exception
{
return data;
// return URLDecoder.decode(data, "UTF-8");
}
燦任何人都向我解釋發生了什麼,以及我如何才能做到這一點?
非常感謝!
是參數數據null? – shazinltc
它甚至沒有出現在控制器中的解密方法。 – earthling
您是否嘗試傳遞它作爲一個正常的請求參數即?data = yourEncryptedString – shazinltc