RestTemplate提供了多种便捷访问远程Http服务的方法,
是一种简单便捷的访问restful服务模板类,是Spring提供的用于访问Rest服务的客户端模板工具类
使用restTemplate访问restful接口非常的简单粗暴无脑。
(url, requestMap, ResponseBean.class)这三个参数分别代表REST请求地址、请求参数、HTTP响应转换的对象类型
直接调用需要将数据存储到MultiValueMap进行传递
MultiValueMap<String, Object> paramMap = new LinkedMultiValueMap<String, Object>();
paramMap.set("id", payment.getId());
paramMap.set("serial", payment.getSerial());
return restTemplate.postForObject(PAYMENT_URL + "/payment/create", paramMap, CommonResult.class);
传递java对象需要在接收的参数前加@RequestBody
@GetMapping("/payment/create")
public CommonResult<Payment> create(Payment payment) {
log.info("method create " + payment);
return restTemplate.postForObject(PAYMENT_URL + "/payment/create", payment, CommonResult.class);
}
@PostMapping(value = "/payment/create")
public CommonResult create(@RequestBody Payment payment){
log.info("method create " + payment);
int result = paymentService.create(payment);
log.info("PaymentController create 插入结果 " + result);
if(result > 0){
return new CommonResult(200, "插入数据库成功", result);
}else{
return new CommonResult(444, "插入数据库失败");
}
}