java - 如何在Spring中添加/设置查询参数?

标签 java spring spring-boot

所以我一直在我的网址中添加查询参数,例如

[URL]/?param1=value1&param2=value2

但是我该如何像在 HTTP header 中那样做到这一点,可以像这样设置。

private HttpHeaders generateCredetialsHeader() {
    HttpHeaders headers = new HttpHeaders();
    headers.add("ClientId", clientId);
    headers.add("ClientSecret",clientSecret);
    return headers;
    }

最佳答案

使用UriComponentsBuilder :

String urlTemplate = "https://example.com/hotels/42?param1={p1}&param2={p2}";

String url = UriComponentsBuilder.fromHttpUrl(urlTemplate)
        .buildAndExpand("value1", "value2")
        .toUriString();

// Or:
String url = UriComponentsBuilder.fromHttpUrl(urlTemplate)
        .buildAndExpand(Map.of("p1", "value1",
                               "p2", "value2"))
        .toUriString();

或者,不要将其作为模板,而是单独添加查询参数:

String url = UriComponentsBuilder.fromHttpUrl("https://example.com/hotels/42")
        .queryParam("param1", "value1")
        .queryParam("param2", "value3")
        .toUriString();

关于java - 如何在Spring中添加/设置查询参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59387907/

相关文章:

java - Spring Jackson将json对象转换为java数组

spring-boot - Couchbase 文档 ID 生成

spring-boot - 如何使用 Spring Boot 在注释或 application.properties 文件中将表属性的排序规则设置为 utf8_bin

java - 在 Spring restTemplate 中超出 START_ARRAY token

java - 特立尼达投票jsf

java - 使用 XML 配置和注释初始化 java beans 类时出现空指针异常

java - 何时在 Spring 中使用 Autowiring

java - map 正在加载,但在 Android 开发中看不到 map

java - java中如何将一个节点指定为前一个节点?

java - 导出到 Excel 以获取绝对路径