一、什么是RestTemplate?
RestTemplate 是一个HTTP客户端,在Spring Cloud的服务调用方使用它我们可以方便的调用HTTP接口,支持GET、POST、PUT、DELETE等方法。
二、四种请求方式
首先注入Bean对象
@Configuration public class MyConfig { @Bean public RestTemplate restTemplate(){ return new RestTemplate(); } }
2.1 GET请求
- getForObject
@GetMapping("get/{id}") public CommonResult getUser(@PathVariable Long id) { CommonResult commonResult = restTemplate.getForObject(Url + "/user/{1}", CommonResult.class, id); return commonResult }
- getForEntity
@GetMapping("/get/{sex}") public CommonResult getUser(@PathVariable String sex) { ResponseEntity<CommonResult> entity = restTemplate.getForEntity(Url + "/user/{女}", CommonResult.class, sex); if (entity.getStatusCode().is2xxSuccessful()) { return entity.getBody(); } else { return new CommonResult("操作失败", 500); } }
2.2 POST请求
- postForObject
@PostMapping("/add") public CommonResult add(@RequestBody User user) { CommonResult commonResult = restTemplate.postForObject(Url + "/user/add", user, CommonResult.class); return commonResult; }
- postForEntity
@PostMapping("/add") public CommonResult add(@RequestBody User user) { CommonResult commonResult = restTemplate.postForEntity(Url + "/user/add", user, CommonResult.class) return commonResult.getBody(); }
2.3 PUT请求
@PutMapping("/update") public CommonResult update(@RequestBody User user) { restTemplate.put(Url + "/user/update", user); return new CommonResult("操作成功",200); }
2.4 DELETE请求
@DeleteMapping("/delete/{id}") public CommonResult delete(@PathVariable Long id) { restTemplate.delete(Url + "/user/delete/" + id, null); return new CommonResult("操作成功",200); }
到此这篇关于详解SpringCloud微服务之Rest的文章就介绍到这了,更多相关SpringCloud Rest内容请搜索自学编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持自学编程网!
- 本文固定链接: https://zxbcw.cn/post/212604/
- 转载请注明:必须在正文中标注并保留原文链接
- QQ群: PHP高手阵营官方总群(344148542)
- QQ群: Yii2.0开发(304864863)