spring 之 RestTemplate 用法
来源:互联网 发布:js children 编辑:程序博客网 时间:2024/06/05 20:34
1.开宗明义:
spring为了消除http请求里样板式的代码,对http请求进行了封装。这就是 RestTemplate 使命,相比Apache HTTP Client,更方便地 发送网络请求。
关于http请求不清楚的请阅读 :http详细讲解
2.概览:
3.用法RestTemplate定义了36个与REST资源交互的方法,其中11个是独立的方法,别的都是这些方法的重载。
这些方法涵盖了几乎所有的http动作,其中execute() 和 exchange() 提供了较底层的通用方法使用任意的http方法。
这里有必要讲一下http请求传参问题,传参方式有以下几种:
1)问号传参,如:http://192.168.118.88:8033/workspace/myWorkspace.do?projectId=5#103
问号传参, 服务器端是用@RequestParam 注解接收的 。
2)路径传参,如:http://192.168.118.111:7000/api/v1/orders/inspectionorder/consumer/{serialNo} 访问时需要用具体值替换{serialNo}
路径传参,服务器端是这样的:
a.发送get 请求,restTemplate的 getForObject() 方法:3)参数放在请求体里,即body里。该方式不适用get请求
请求体传参,服务端是用 @RequestBody 注解接收的。
不带参数:
b.发送post请求 restTemplate的 postForObject() 方法:路径传参:
等同→ get请求:http://ip:port/api/v1/items/shopInfo/detail/{id} ,{id} 换成 id
问号传参:类似上面的不带参数,把参数拼接在url中即可。
问号传参 和 路径传参是和get请求一样的方式,这里主要介绍一下 请求体传参
请求体传参:
参数是json格式的
参数是 form表单格式
c.restTemplate 的 exchange方法
4.总结
因公司用的是微服务架构,根据业务模块划分成了很多独立的服务,每个服务都是独立的项目,运行在独立的进程里,有独立的数据库。
接口按rest风格设计,服务之间通过轻量级的http网络协议相互访问,相互协作完成任务,所以服务之间的访问就显得比较频繁。
以上这些方法相互组合基本可以满足日常使用了,也是我自己的一个总结,以后再慢慢补充
参考《spring in action》 第四版 第16章
- spring 之 RestTemplate 用法
- spring RestTemplate用法详解
- spring RestTemplate用法详解
- spring RestTemplate用法详解
- spring RestTemplate用法详解
- spring RestTemplate用法详解
- spring RestTemplate用法详解
- spring RestTemplate用法详解
- Spring RestTemplate 用法总结
- Spring之RestTemplate介绍
- spring RestTemplate
- spring restTemplate
- Spring RestTemplate
- RestTemplate的用法
- REST In Spring : RestTemplate
- Spring RestTemplate Json 例子
- Spring restTemplate 超时配置
- spring的RestTemplate
- 2017都要过去了,还不知道服务设计?
- iOS 启动耗时统计
- MySql中汉字排序
- 基于springboot和dubbo搭建SOA服务
- Linux spi驱动框架之执行流程-nuc970-att7022
- spring 之 RestTemplate 用法
- jsp动态改变contenttype值
- QT添加到系统托盘
- 运维工程师必备之MySQL数据的主从复制、半同步复制和主主复制详解
- Protobuf语言指南——.proto文件语法详解
- #pragma once与#ifndef两种防止头文件二次编译的区别
- JS前端数据多条件筛选
- Windows程序设计-设备无关位图
- 创建线程的两种方式