首页 > 其他分享 >Spring 中的 URL 处理工具类 UriComponentsBuilder

Spring 中的 URL 处理工具类 UriComponentsBuilder

时间:2023-12-02 14:22:19浏览次数:36  
标签:String URL Spring URI UriComponentsBuilder 构建 path

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字符串。

标签:String,URL,Spring,URI,UriComponentsBuilder,构建,path
From: https://www.cnblogs.com/Linzj5950/p/17871555.html

相关文章

  • SpringBoot自定义注解导出Excel
    先定义一个注解importjava.lang.annotation.Retention;importjava.lang.annotation.RetentionPolicy;@Retention(RetentionPolicy.RUNTIME)public@interfaceExcelHander{Stringvalue()default"";StringlinkFiled()default"";Cel......
  • Spring Boot如何在swagger2中配置header请求头等参数信息
    前言在开发Web应用程序时,处理HTTP请求头信息是非常重要的。一般情况下,我们需要将一些固定的参数,如Token、Session等,附加在请求头中进行传递。Swagger2是一个非常流行的API文档生成工具,但在使用时,我们可能需要在请求头中附加这些参数,本文就是为了解决这个问题而写的。摘要本文将......
  • SpringSecurity鉴权简介
    前言本博文为听课笔记,简单记录下SpringSecurity的鉴权方式及如何在整个流程中自定义个性化鉴权,以备后续学习及工程需要。正文一个请求进来SpringSecurity会经过一系列的过滤器,示意图如下:jwtFilter简介:验证用户token,通过则将其保存在SpringSecurity的上下文,保持登录状态F......
  • Spring Cloud Alibaba:构建微服务架构的高效工具套件
    SpringCloudAlibaba:构建微服务架构的高效工具套件SpringCloudAlibaba是一套基于SpringCloud微服务架构的开发工具,它提供了丰富的微服务解决方案,包括服务注册与发现、负载均衡、熔断与限流、安全认证与授权等。SpringCloudAlibaba结合了阿里巴巴的微服务实践和SpringCl......
  • python网络连接报错:ValueError("Unable to determine SOCKS version from %s" % proxy
      python应用proxy网络连接报错:returnsuper().send(request,*args,**kwargs)^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^File"/home/devil/anaconda3/envs/pytorch/lib/python3.11/site-packages/requests/adapters.py",line454,insendco......
  • URL 资源清洗
    URL资源清洗在Controller包中建立一个新的类,并实现UrlCleaner接口packagecom.llq.springcloud.controller;@ComponentpublicclassCustomUrlCleanerimplementsUrlCleaner{ // 资源清洗:实现UrlCleaner接口@OverridepublicStringclean(StringoriginUr......
  • Spring Retry
    工作中,经常遇到需要重试的场景,最简单的方式可以用try...catch...加while循环来实现。那么,有没有统一的、优雅一点儿的处理方式呢?有的,SpringRetry就可以帮我们搞定重试问题。关于重试,我们可以关注以下以下几个方面:什么情况下去触发重试机制重试多少次,重试的时间间隔是否可以......
  • 在使用SpringBoot装配mybatis时出现异常
    在使用SpringBoot装配mybatis时出现异常***************************APPLICATIONFAILEDTOSTART***************************Description:FieldstudentServiceincom.example.demo.action.StudentControllerrequiredabeanoftype'com.example.demo.service.Stude......
  • 2023版SpringBoot2 仿B站高性能前端+后端项目开发全流程
    2023版SpringBoot2仿B站高性能前端+后端项目51xuebc+尾缀SpringBoot2仿B站高性能前端+后端项目:打造高效、稳定、可扩展的应用在当今的互联网时期,网站的性能、稳定性和可扩展性成为了权衡一个项目胜利与否的关键要素。本文将引见如何运用SpringBoot2构建一个仿B站的高性能前......
  • springboot 启动命令过长问题处理(Error running 'xxxxApplication': Command line is
      翻译搜索复制......