
正文
利用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(表现层代码就不写在这里了,业务逻辑层的代码给大家展示)。
package com.ecshop.service.impl; import com.alibaba.fastjson.JSON;
import com.ecshop.common.dto.CreateOrderRequestDTO;
import com.ecshop.common.dto.OrderDto;
import com.ecshop.common.enums.ECShopErrorCodeEnum;
import com.ecshop.common.request.OrderCancelRequest;
import com.ecshop.common.util.ErrorResultInstallUtils;
import com.ecshop.service.OrderService;
import com.ecshop.service.client.PhpClient;
import com.ecshop.service.client.dto.request.OrderRequestDTO;
import com.ecshop.service.client.dto.response.BaseResponseDTO;
import com.ecshop.service.client.dto.response.OrderResponseDTO;
import lombok.extern.slf4j.Slf4j;
import org.dozer.DozerBeanMapper;
import org.dozer.Mapper;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpMethod;
import org.springframework.http.MediaType;
import org.springframework.stereotype.Service;
import org.springframework.web.client.RestTemplate;
import result.Result; import java.util.Objects; /**
* @Author: zp
* @Date: 2019/4/16 17:20
* @Description:
*/
@Slf4j
@Service
public class OrderServiceImpl implements OrderService { private static final String Order_Cancel_Url = "http://localhost:10002"; @Autowired
private RestTemplate restTemplate; @Override
public Result cancelOrder(OrderDto dto) {
Result result = Result.success();
String merSn = dto.getMerSn();
OrderCancelRequest request = new OrderCancelRequest();
BeanUtils.copyProperties(dto,request);
log.info("取消订单请求实体类:"+JSON.toJSON(request));
String jsonObj = JSON.toJSONString(request);
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON_UTF8);
HttpEntity<String> httpEntity = new HttpEntity(jsonObj,headers);
String requestUrl = Order_Cancel_Url+"/order/{merSn}/cancel";
log.info("取消订单请求Url:"+requestUrl);
try {
restTemplate.put(requestUrl,httpEntity,merSn);
}catch (Exception e){
log.error("订单取消失败",e);
return Result.fail("订单取消失败,请联系客服人员");
}
return result;
} }





