当前位置: 首页 > article >正文

SpringBoot - 集成RestTemplate模板(二) - GET请求

GET请求一: getForObject

①. 方法介绍
getForObject()用于发送一个 HTTP GET 请求, 返回值是响应体, 省略了RESPONSE的相关信息。
②. 如何使用
// 1. 生成结果映射为String字符串.
@GetMapping("/test")
public String test() {
    String url = "http://hadoopx.com/user/info/1";
    return restTemplate.getForObject(url, String.class);
}
// 2. 生成结果映射为POJO.
@GetMapping("/test")
public User test() {
    String url = "http://hadoopx.com/user/info/1";
    return restTemplate.getForObject(url, User.class);
}
// 3. 生成结果映射为数组.
@GetMapping("/test")
public String[] test() {
    String url = "http://hadoopx.com/user/info/1";
    return restTemplate.getForObject(url, String[].class);
}
③. 参数传递
// 1. 使用占位符传递参数.
@GetMapping("/test")
public String test() {
    String url = "http://hadoopx.com/user/{1}/{2}";
    return restTemplate.getForObject(url, String.class, "info", 1);
}

// 2. 使用占位符传递参数.
@GetMapping("/test")
public String test() {
    String url = "http://hadoopx.com/user/{type}/{id}";
    String type = "info";
    int id = 1;
    return restTemplate.getForObject(url, String.class, type, id);
}

// 3. 使用占位符传递参数.
@GetMapping("/test")
public String test() {
    String url = "http://hadoopx.com/user/{type}/{id}";
    Map<String, Object> mp = new HashMap<>();
	mp.put("type", "info");
	mp.put("id", 1);
    return restTemplate.getForObject(url, String.class, mp);
}

GET请求二: getForEntity

①. 方法介绍
getForEntity()同样用于发送一个 HTTP GET 请求, 和上面介绍的 getForObject() 用法几乎相同。
区别在于 getForEntity() 的返回值是 ResponseEntity<T>
②. 如何使用
getForObject() 用法几乎相同。
返回值 ResponseEntity<T>Spring 对 HTTP 请求响应的封装, 包括了几个重要的元素,: 响应码、contentType、contentLength、响应消息体等。其中响应消息体可以通过 ResponseEntity 对象的 getBody() 来获取。

http://www.kler.cn/a/6660.html

相关文章:

  • maven-resources-production:ratel-fast: java.lang.IndexOutOfBoundsException
  • CPU性能优化--函数分组
  • UE UMG 多级弹出菜单踩坑
  • 不会心理描写,神态描写怎么办?
  • 【ETCD】【Linearizable Read OR Serializable Read】ETCD 数据读取:强一致性 vs 高性能,选择最适合的读取模式
  • Python国内10个镜像源-地址汇总以及测评
  • 如何恢复回收站被清空的文件
  • Troubleshooting 专题 - 问正确的问题 得到正确的答案
  • fastDDS之Domain
  • 聊聊MyBatis缓存机制(一)
  • java this
  • 【数据结构篇C++实现】- 哈希表
  • impala set设置MEM_LIMIT
  • 【Java】【并发编程】Synchronized
  • 警惕,3月20日WOS目录更新,50本SCI/SSCI被剔除,这个出版社多达18本
  • PX4从放弃到精通(二十七):固定翼姿态控制
  • Java:5大最佳Java库
  • 跳表skiplist
  • Android12 Launcher3客制化:添加非抽屉模式(可动态切换)、图标自动补位功能
  • 使用C#中的Aspose Word 在对Word文档中的书签详细总结(包括增删改查等操作)
  • python实战应用讲解-【numpy专题篇】numpy常见函数使用示例(十)(附python示例代码)
  • 2023年美赛春季赛 赛题浅析
  • 在Linux系统下使用GDB调试C++程序【命令行调试与vscode编译器调试】
  • django前后端不分离——图片验证码,基于Bootstrap3的自定义分页器,Bootstrap模态框无法使用解决方案
  • list模拟实现
  • 00后面试华为软件测试工程师,竭尽全力拿到15K。。。。。