【发布时间】:2017-07-28 08:48:45
【问题描述】:
因为知道 url 不允许有一些特殊字符,所以需要对其进行编码:
: metadata=[{name: serialnumber, value: aaaaaaaaa},{name: register, value: abcde}] 在网址中
我试过这个编码可以工作
String abc= java.net.URLEncoder.encode("http://localhost:9080/myapp/myapp/search?metadata=[{name: serialnumber, value: aaaaaaaaa},{name: register, value: abcde}]", "utf-8");
但是为什么如果使用 info.getRequestUri().getRawQuery() 会失败呢?
public Response search(@Context final UriInfo info, @Context final HttpHeaders httpHeaders) throws Exception {
String requestURI = java.net.URLEncoder.encode(info.getRequestUri().getRawQuery(), "utf-8");
错误:
Caused by: java.net.URISyntaxException: Illegal character in query
如果我将使用 info.getRequestUri().getRawQuery()
,如何成功编码【问题讨论】:
-
如果你用 Java 编程,为什么要为 JavaScript 和 C 添加不相关的语言标签?
-
你能粘贴异常堆栈跟踪吗?
标签: java url restful-url