Spring 中的 URL 处理工具类 UriComponentsBuilder

发布时间 2023-12-02 14:21:15作者: Kllin

UriComponentsBuilder是Spring Framework中的一个用于构建URI(Uniform Resource Identifier)和URL(Uniform Resource Locator)的实用程序类。它提供了一种简单的方式来构建包含各种部分(如协议、主机、路径、查询参数等)的URI和URL,并支持对这些部分进行修改、替换和合并等操作。

以下是一个简单的示例,演示了如何使用UriComponentsBuilder构建URL:

import org.springframework.web.util.UriComponentsBuilder;

public class Main {
    public static void main(String[] args) {
        UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl("https://www.example.com")
                .path("/api/resource")
                .queryParam("param1", "value1")
                .queryParam("param2", "value2");

        String url = builder.toUriString();
        System.out.println("URL: " + url);
    }
}

在这个示例中,我们使用fromHttpUrl方法创建了一个UriComponentsBuilder对象,并传入URL字符串作为参数。然后,我们使用path方法添加了路径部分/api/resource,并使用queryParam方法添加了两个查询参数:param1=value1param2=value2。最后,我们调用toUriString方法获取构建的URL字符串,并将其打印出来。

UriComponentsBuilder类提供了许多常用的API来构建和修改URI和URL。以下是一些常见的方法:

  1. fromHttpUrl(String url): 根据给定的URL字符串创建一个UriComponentsBuilder对象。
  2. scheme(String scheme): 设置URI的协议部分。
  3. host(String host): 设置URI的主机部分。
  4. port(int port): 设置URI的端口部分。
  5. path(String path): 添加路径部分到URI。
  6. queryParam(String name, Object... values): 添加查询参数到URI。
  7. replacePath(String path): 替换URI的路径部分。
  8. replaceQueryParam(String name, Object... values): 替换指定名称的查询参数。
  9. fragment(String fragment): 设置URI的片段部分。
  10. build(): 构建一个UriComponents对象。
  11. toUriString(): 获取构建的URI字符串。