SpringCloud 中 RestTemplate 的简单应用
RestTemplate的简单说明:
在很久以前程序员想要通过程序内部访问其他服务需要用HttpClient,但是经过时间的推移,Spring家族弄出了RestTemplate.
简单实用介绍开始.
1.建立一个简单的maven项目,在建立的maven总项目中,新建两个模块,A与B, A为消费端,B为服务端. A端口: 80 , B端口 8001.
2.在A消费端的项目中新建一个名为: ApplicationContextConfig 的类在包config下.代码如下
package com.atguigu.springcloud.config; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.client.RestTemplate; @Configuration public class ApplicationContextConfig { @Bean public RestTemplate getRestTemplate(){ return new RestTemplate(); } }
然后新建A消费端Controller类,代码如下
package com.atguigu.springcloud.controller; import com.atguigu.springcloud.entities.CommonResult; import com.atguigu.springcloud.entities.Payment; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.client.RestTemplate; import javax.annotation.Resource; @RestController @Slf4j public class OrderController { public static final String PAYMENT_URL = "http://localhost:8001"; @Resource private RestTemplate restTemplate; @GetMapping("/consumer/payment/create") public CommonResultcreate(Payment payment){ log.info("restTemplate 进入成功"); return restTemplate.postForObject(PAYMENT_URL+"/payment/create",payment,CommonResult.class); } @GetMapping("/consumer/payment/get/{id}") public CommonResult getPayment(@PathVariable("id") Long id){ return restTemplate.getForObject(PAYMENT_URL+"/payment/get/"+id,CommonResult.class); } }
启动Postman测试接口.
结果成功.
具体详细学习内容,请参见尚硅谷B站视频,链接(点击传送~):
https://www.bilibili.com/video/BV18E411x7eT?p=12
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)