我是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