利用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 }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM