当前位置: 首页 > 知识库问答 >
问题:

spring RestTemplate获取请求删除空查询参数

乐宜民
2023-03-14

我想使用spring的RestTemplate进行REST调用,URL包含一些可选的查询参数。URL看起来类似于

url=example.com/param1={param1}&param2={param2}

我使用exchange方法将参数作为映射传递给restTemplate

RESTTemplate.Exchange(url、方法、负载、String.Class、params)

最后的URL是example.com/param1=somevalue&param2=,因为param2不在params映射中。

我想从请求中删除param2,也就是说,最终URL应该只包含param1,并且URL应该看起来像example.com/param1=somevalue

共有1个答案

孟嘉歆
2023-03-14

您可以使用UriComponentsBuilder并提供所需的参数(而不是Null)。

UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl("example.com");
builder.replaceQueryParam("param1", param1value);
...
restTemplate.exchange(builder.build().encode().toUri(),
                    httpMethod,
                    requestEntity,
                    String.class)
 类似资料:
  • 我有一个查询字符串,可以是: 编辑:参数值的长度可以大于2 有人知道在String.ReplaceAll([regex],[replace])中使用什么好的regex表达式吗?

  • 我只使用了SOAP UI来测试WSDL/URL,但在这个范围内没有。我需要从SOAPUI获取请求url查询参数,并使用它们使用groovy脚本测试一些东西。 假设我有一个GetCustomers请求url,如下所示 我需要URL < code > Id = 111 < code > ModeName = ABC < code > DeltaId = 023423 中的以下内容 我在SOAP UI中

  • 当我将参数嵌入到下面的路径中时,我可以成功地传递参数 我应该使用‘参数’tabe只有当我做POST方法?我知道向JMeter传递参数是一个简单的问题,但我不能解决我的问题。

  • 客户端可能会发送多个查询参数,如: 我需要获取所有查询参数并将其提取为字符串

  • 主要内容:通过 HttpServletRequest 获取请求参数,通过形参获取请求参数,使用 @RequestParam 注解获取,通过实体类对象获取(推荐),解决获取请求参数的乱码问题Spring MVC 提供了多种获取请求参数的方式: 通过 HttpServletRequest 获取请求参数 通过控制器方法的形参获取请求参数 使用 @RequestParam 注解获取请求参数 通过实体类对象获取请求参数(推荐) 下面我们就对这些获取请求参数的方式一一进行介绍。 通过 HttpServlet

  • 我尝试发送一个删除请求到我的服务器,但我得到一个400坏的请求错误代码。我找了很多,但我找不到任何有帮助解决方案。当我尝试与邮差,请求工作良好。 这是来自Postman的curl命令的外观: 这是我的Java代码: 我还尝试在头中不设置Content-Type,但当我得到一个415错误时,我还删除了getBodyContentType()方法,但这也没有改变。 还有什么能帮上忙的点子吗?