我是 java 新手,我正在尝试编写一个实用程序 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");
}
任何人都可以向我解释发生了什么以及我如何才能让它发挥作用?
非常感谢!!