我有一个字符串形式的 URL,我希望对其进行各种修改。具体来说,我需要修改查询字符串中的值(如果它们已经存在),如果不存在,则创建它们。
在我看来,应该已经有一个现有的类,我可以用我的 URL 构造一个字符串,它将 URL 拆分成它的组成部分,并允许我单独修改每个部分。在查询字符串的情况下,应该可以将其作为 Map 进行寻址,对其进行修改,然后将 URL 对象字符串化以取回修改后的 URL。
Java 有一个 URL class但它似乎非常有限 - 他们将查询字符串视为字符串,而不是映射,修改它的唯一方法是调用 set并指定 URL 的所有组件,而不是只设置我要设置的组件。有更好的选择吗?如果可能的话,我更喜欢标准 java/javax 包中的东西,但我认为这不太可能。
最佳答案
据我所知,没有这样的 JDK 类。
Spring Web ( Maven link ) 提供了 UriComponentsBuilder
建筑类UriComponents
哪个
Represents an immutable collection of URI components, mapping component type to string values. Contains convenience getters for all components. Effectively similar to
java.net.URI
, but with more powerful encoding options and support for URI template variables.
关于java - Java 中是否存在可变的 URL/URI 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22003574/