GET请求

第一种:getForEntity

getForEntity方法的返回值是一个ResponseEntity<T>ResponseEntity<T>是Spring对HTTP请求响应的封装,包括了几个重要的元素,如响应码、contentType、contentLength、响应消息体等。

可以用一个数字做占位符,最后是一个可变长度的参数,来一一替换前面的占位符

@RequestMapping("/sayhello")
public String sayHello() {
ResponseEntity<String> responseEntity = restTemplate.getForEntity("http://HELLO-SERVICE/sayhello?name={1}", String.class, "张三");
return responseEntity.getBody();
}

可以前面使用name={name}这种形式,最后一个参数是一个map,map的key即为前边占位符的名字,map的value为参数值

@RequestMapping("/sayhello2")
public String sayHello2() {
Map<String, String> map = new HashMap<>();
map.put("name", "李四");
ResponseEntity<String> responseEntity = restTemplate.getForEntity("http://HELLO-SERVICE/sayhello?name={name}", String.class, map);
return responseEntity.getBody();
}

第二种:getForObject

getForObject函数实际上是对getForEntity函数的进一步封装,如果你只关注返回的消息体的内容,对其他信息都不关注,此时可以使用getForObject

@RequestMapping("/book2")
public Book book2() {
Book book = restTemplate.getForObject("http://HELLO-SERVICE/getbook1", Book.class);
return book;
}

POST请求

第一种:postForEntity

方法的第一参数表示要调用的服务的地址 第二个参数表示上传的参数 第三个参数表示返回的消息体的数据类型

@RequestMapping("/book3")
public Book book3() {
Book book = new Book();
book.setName("红楼梦");
ResponseEntity<Book> responseEntity = restTemplate.postForEntity("http://HELLO-SERVICE/getbook2", book, Book.class);
return responseEntity.getBody();
}

服务端

@RequestMapping(value = "/getbook2", method = RequestMethod.POST)
public Book book2(@RequestBody Book book) {
System.out.println(book.getName());
book.setPrice(33);
book.setAuthor("曹雪芹");
book.setPublisher("人民文学出版社");
return book;
}

第二种:postForObject

如果你只关注,返回的消息体,可以直接使用postForObject。用法和getForObject一致。

原文:https://blog.csdn.net/u012702547/article/details/77917939
版权声明:本文为博主原创文章,转载请附上博文链接!

最新文章

  1. CentOS6.3 编译安装LAMP(4):编译安装 PHP5.2.17
  2. robotium教材(一):robotium环境搭建
  3. Xocde4与Xcode3的模板比较
  4. javaWeb---文件上传(commons-FileUpload组件)
  5. JVM内存区域与内存溢出异常
  6. 如何把drawing图像转换成wpf控件的source
  7. 基于opencv的手写数字识别(MFC,HOG,SVM)
  8. UNIX时间与本地时间的转换
  9. Gdal 1.11.0 添加 Postgresql 9.1 sqlite3 支持
  10. NowCoder -- 牛客小白月赛10
  11. [No0000CF]想有一辈子花不完的钱?从了解“被动收入”开始吧
  12. VSFTP服务配置
  13. Python3 串口模块移植并使用。
  14. viewpager实现画廊(一屏多个Fragment)效果
  15. Linux 新建用户和组命令
  16. springboot2 统一返回结果
  17. PYTHON 常用API ***
  18. Android-GsonUtil工具类
  19. 可以在GitHub或者码云里 直接搜索 项目 比如 哔哩哔哩
  20. ios逆向工程-内部钩子(Method Swizzling)

热门文章

  1. Excel打开图片
  2. [译]Javascript中的闭包(closures)
  3. [译]Javascript在ASP NET中的运用
  4. 说“DPI”
  5. nodejs nodejs模块使用及简单的示例
  6. ubuntu - 官方简体中文wiki,有你想要的ubuntu的一切
  7. Wannafly挑战赛28B(DP,思维,字符串)
  8. 【转】tnsping不通,则需设置TNS_ADMIN环境变量
  9. loj #6077. 「2017 山东一轮集训 Day7」逆序对
  10. [bzoj2743][HEOI2012]采花(树状数组)