利用Resttemplate进行put请求

开发中,最常用的是post、get这两种。今天我给大家展示一个利用put请求的demo,其实put请求跟post请求没啥区别,但是没有返回值。

void put(String var1, @Nullable Object var2, Object... var3) throws RestClientException;

    void put(String var1, @Nullable Object var2, Map<String, ?> var3) throws RestClientException;

    void put(URI var1, @Nullable Object var2) throws RestClientException;

 

下面就是demo(表现层代码就不写在这里了,业务逻辑层的代码给大家展示)。

 1 package com.ecshop.service.impl;
 2 
 3 import com.alibaba.fastjson.JSON;
 4 import com.ecshop.common.dto.CreateOrderRequestDTO;
 5 import com.ecshop.common.dto.OrderDto;
 6 import com.ecshop.common.enums.ECShopErrorCodeEnum;
 7 import com.ecshop.common.request.OrderCancelRequest;
 8 import com.ecshop.common.util.ErrorResultInstallUtils;
 9 import com.ecshop.service.OrderService;
10 import com.ecshop.service.client.PhpClient;
11 import com.ecshop.service.client.dto.request.OrderRequestDTO;
12 import com.ecshop.service.client.dto.response.BaseResponseDTO;
13 import com.ecshop.service.client.dto.response.OrderResponseDTO;
14 import lombok.extern.slf4j.Slf4j;
15 import org.dozer.DozerBeanMapper;
16 import org.dozer.Mapper;
17 import org.springframework.beans.BeanUtils;
18 import org.springframework.beans.factory.annotation.Autowired;
19 import org.springframework.http.HttpEntity;
20 import org.springframework.http.HttpHeaders;
21 import org.springframework.http.HttpMethod;
22 import org.springframework.http.MediaType;
23 import org.springframework.stereotype.Service;
24 import org.springframework.web.client.RestTemplate;
25 import result.Result;
26 
27 import java.util.Objects;
28 
29 /**
30  * @Author: zp
31  * @Date: 2019/4/16 17:20
32  * @Description:
33  */
34 @Slf4j
35 @Service
36 public class OrderServiceImpl implements OrderService {
37 
38     private static final String Order_Cancel_Url = "http://localhost:10002";
39 
40     @Autowired
41     private RestTemplate restTemplate;
42 
43    
44 
45     @Override
46     public Result cancelOrder(OrderDto dto) {
47         Result result = Result.success();
48         String merSn = dto.getMerSn();
49         OrderCancelRequest request = new OrderCancelRequest();
50         BeanUtils.copyProperties(dto,request);
51         log.info("取消订单请求实体类:"+JSON.toJSON(request));
52         String jsonObj = JSON.toJSONString(request);
53         HttpHeaders headers = new HttpHeaders();
54         headers.setContentType(MediaType.APPLICATION_JSON_UTF8);
55         HttpEntity<String> httpEntity = new HttpEntity(jsonObj,headers);
56         String requestUrl = Order_Cancel_Url+"/order/{merSn}/cancel";
57         log.info("取消订单请求Url:"+requestUrl);
58         try {
59             restTemplate.put(requestUrl,httpEntity,merSn);
60         }catch (Exception e){
61             log.error("订单取消失败",e);
62             return Result.fail("订单取消失败,请联系客服人员");
63         }
64         return result;
65     }
66 
67     
68 }

 

posted @ 2019-04-17 17:39  小柴胡颗粒  阅读(9266)  评论(0编辑  收藏  举报