在RestTemplate的Get请求中,稍微优雅的传递参数的方式

自从用了RestTemplate,我已经很少在Java代码中使用HttpClient之类的东西了。RestTemplate的便利性,能够帮助我快速的开发一些小工具。

我接下来需要研究的RestTemplate的技术是:看能不能脱离SpringBoot项目使用RestTemplate。现阶段使用这个工具时我还需要初始化一个SpringBoot项目,有点麻烦。

RestTemplate的Get请求,优雅的传递参数的方法如下:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11

UriComponents apiInterfaceListUrl = UriComponentsBuilder.fromUriString(YAPI)
        .path(YApi.API_INTERFACE_LIST.getPath())
        .queryParam("token", TOKEN)
        .queryParam("limit", RESPONSE_ITEM_LIMIT)
        .build();

ApiInterfaceListResponse apiInterfaceListResponse = restTemplate.getForObject(
        apiInterfaceListUrl.toUriString(),
        ApiInterfaceListResponse.class);

queryParam方法是允许传递一个Map<String, String>类型的参数的,但是我没有找到一个很好的工具将一个对象转换成Map<String, String>,自己开发这个工具,我暂时又没有足够的动力,所以暂时先直接传递字符串了。

参考教程

  1. 使用RestTemplate发送get请求,获取不到参数的问题