详解SpringCloud微服务之Rest

 更新时间:2021年05月18日 17:16:38   作者:ProChick  
今天带大家学习SpringCloud微服务之Rest的有关知识,文中有非常详细的介绍及代码示例,对正在学习java的小伙伴们有很好的帮助,需要的朋友可以参考下

一、什么是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内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 了解java中的session

    了解java中的session

    这篇文章主要介绍了了解java中的session的相关问题,什么是session,session怎么用等,具有一定参考价值,需要的朋友可以了解下。
    2017-11-11
  • 使用Java实现获取文件MD5值工具类

    使用Java实现获取文件MD5值工具类

    我们在工作中通常使用MD5对文件进行校验完整性,比较,提高安全性等,这篇文章主要为大家详细介绍了Java如何编写一个实现获取文件MD5值的工具,需要的可以参考下
    2023-12-12
  • macbook中springboot的jmeter压测示例

    macbook中springboot的jmeter压测示例

    这篇文章主要介绍了macbook中springboot的jmeter压测示例详解,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-11-11
  • 详解如何使用Spring的@FeignClient注解实现通信功能

    详解如何使用Spring的@FeignClient注解实现通信功能

    SpringBoot是一个非常流行的Java框架,它提供了一系列工具来使这种交互无缝且高效,在这些工具中,@FeignClient注解因其易用性和强大的功能而脱颖而出, 在这篇文章中,我们将探讨如何使用Spring的@FeignClient注解进行客户端-服务器通信,需要的朋友可以参考下
    2023-11-11
  • java算法题解LeetCode35复杂链表的复制实例

    java算法题解LeetCode35复杂链表的复制实例

    这篇文章主要为大家介绍了java算法题解LeetCode35复杂链表的复制实例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-01-01
  • java去除已排序数组中的重复元素

    java去除已排序数组中的重复元素

    这篇文章主要为大家详细介绍了java去除已排序数组中重复元素的方法,感兴趣的小伙伴们可以参考一下
    2016-09-09
  • SpringBoot实现异步任务的项目实践

    SpringBoot实现异步任务的项目实践

    本文将使用SpringBoot 去实现异步之间的调用,提高系统的并发性能、用户体验,具有一定的参考价值,感兴趣的可以了解一下
    2023-10-10
  • 解决Mybatis-Plus更新方法不更新NULL字段的问题

    解决Mybatis-Plus更新方法不更新NULL字段的问题

    这篇文章主要介绍了解决Mybatis-Plus更新方法不更新NULL字段的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12
  • windows下jar包开机自动重启的步骤

    windows下jar包开机自动重启的步骤

    这篇文章主要给大家介绍了关于windows下jar包开机自动重启的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • Springboot自动加载配置的原理解析

    Springboot自动加载配置的原理解析

    Springboot遵循“约定优于配置”的原则,使用注解对一些常规的配置项做默认配置,减少或不使用xml配置,让你的项目快速运行起来,这篇文章主要给大家介绍了关于Springboot自动加载配置原理的相关资料,需要的朋友可以参考下
    2021-10-10

最新评论