如何使用 Java Jersey 对路径参数进行编码

发布于 2024-12-11 14:20:05 字数 189 浏览 0 评论 0原文

如何对路径参数(不是 form-url-encoded)进行编码,而只是对附加在格式中的单个 URL 进行编码:

public String method(@PathParam("url") String url) {
}

有很多关于表单 URL 编码的参考,但我想简单地对上面的字符串进行编码。

How do you encode a path parameter (not form-url-encoded) but just a single URL that's appended in the format:

public String method(@PathParam("url") String url) {
}

There are lots of references to form URL encoding, but I want to simply encode a string as in the above.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

唱一曲作罢 2024-12-18 14:20:05

就像前面的答案中提到的 URLEncoder 只能用于查询参数,不能用于路径参数。这对于查询参数中的 + 但路径中的 %20 等空格来说很重要。

 org.springframework.web.util.UriUtils.encodePath()

可以使用。使用 org.apache.http.client.utils.URIBuilder 也可以。 setPath 在这里转义路径部分。使用 java.net.Uri 构造函数的纯 Java 也可以工作。

Like mentioned in the previous answer URLEncoder can only be used for query paramaters, not path parameters. This matters e.g. for spaces which are a + in the query parameter but a %20 in the path.

 org.springframework.web.util.UriUtils.encodePath()

can be used. Also using an org.apache.http.client.utils.URIBuilder would work. setPath is escaping the path part here. Also pure Java by using a constructor of java.net.Uri works.

阳光下的泡沫是彩色的 2024-12-18 14:20:05

为什么你想在那里对其进行编码,如果有什么你不想对其进行解码?在任何情况下,您都可以调用标准 URLEncoder< /a>.

Why would you want to *en*code it there, if anything wouldn't you want to *de*code it? In any case, you would call the standard URLEncoder.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文