开发中,最常用的是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;
} }

利用Resttemplate进行put请求的更多相关文章

  1. 利用RestTemplate进行http调用

    在对接API的时候,会涉及调用第三方的服务,这时候可以利用RestTemplate进行调用,下面给大家展示一个简单的调用demo. package com.tanlu.user.api.control ...

  2. 使用RestTemplate发送post请求

    最近使用RestTemplate发送post请求,遇到了很多问题,如转换httpMessage失败,中文乱码等,调了好久才找到下面较为简便的方法: RestTemplate restTemplate ...

  3. Python爬虫3-parse编码与利用parse模拟post请求

    GitHub代码练习地址:①利用parse模拟post请求:https://github.com/Neo-ML/PythonPractice/blob/master/SpiderPrac04_pars ...

  4. SpringCloud03 Ribbon知识点、 Feign知识点、利用RestTemplate+Ribbon调用远程服务提供的资源、利用feign调用远程服务提供的资源、熔断

    1 远程服务资源的调用 1.1 古老的套路 在微服务出现之前,所有的远程服务资源必须通过RestTemplate或者HttpClient进行:但是这两者仅仅实现了远程服务资源的调用,并未提供负载均衡实 ...

  5. JAVA利用HttpClient进行POST请求(HTTPS)

    目前,要为另一个项目提供接口,接口是用HTTP URL实现的,最初的想法是另一个项目用jQuery post进行请求. 但是,很可能另一个项目是部署在别的机器上,那么就存在跨域问题,而JQuery的p ...

  6. 使用RestTemplate,显示请求信息,响应信息

    使用RestTemplate,显示请求信息,响应信息 这里不讲怎么用RestTemplate具体细节用法,就是一个学习中的过程记录 一个简单的例子 public class App { public ...

  7. 使用RestTemplate发送post请求,请求头中封装参数

    最近使用RestTemplate发送post请求,遇到了很多问题,如转换httpMessage失败.中文乱码等,调了好久才找到下面较为简便的方法: RestTemplate restTemplate ...

  8. CSRF简单介绍及利用方法-跨站请求伪造

    0x00 简要介绍 CSRF(Cross-site request forgery)跨站请求伪造,由于目标站无token/referer限制,导致攻击者可以用户的身份完成操作达到各种目的.根据HTTP ...

  9. 通过 Spring RestTemplate 调用带请求体的 Delete 方法(Delete With Request Body)

    Spring 框架的RestTemplate 类定义了一些我们在通过 java 代码调用 Rest 服务时经常需要用到的方法,使得我们通过 java 调用 rest 服务时更加方便.简单.但是 Res ...

随机推荐

  1. 547 Friend Circles 朋友圈

    班上有 N 名学生.其中有些人是朋友,有些则不是.他们的友谊具有是传递性.如果已知 A 是 B 的朋友,B 是 C 的朋友,那么我们可以认为 A 也是 C 的朋友.所谓的朋友圈,是指所有朋友的集合.给 ...

  2. msyql 死锁

    1.使用 show processlist; 查询当前进程; 找到Command 状态是query 并且Time 时间很长的id kill掉即可 2.select * from information ...

  3. asp.net,监听输入框值的即时变化onpropertychange、oninput

    作者:自由天堂发布站点:WEB六零零 网页设计制作原文地址:http://www.web600.net/html/editor/JavaScript/201001131529.html 要达到的效果 ...

  4. 连接sql server、插入数据、从数据库获取时间(C#)

    using System; using System.Data.SqlClient; namespace Test { //连接数据库 public class Connection { privat ...

  5. ubuntu快捷键收集

    Ctrl+Alt+T 终端 -Ctrl+Shift+C 终端复制 -Ctrl+Shift+V 终端粘贴 -Ctrl+L 清屏 -Ctrl+; 从剪切板中获得输入提示(不小心点到被诡异的提示吓到了) - ...

  6. CF1081C Colorful Bricks

    思路: dp[i][j]表示到第i个砖块为止共计有j个砖块和它左边的砖块颜色不同. 实现: #include <bits/stdc++.h> using namespace std; ty ...

  7. 关于h5中背景音乐的自动播放

    音乐的自动播放属性,这里也介绍一下: <audio controls="controls" autoplay="autoplay"> <sou ...

  8. C#实现MD5WITHRSA签名

    这是很久以前的写的一篇博客了,今天把他重新找出来整理一下发布到博客园 当时对接银联的时候搞了很久都没搞出来,后来一个偶然的机会发现类似的一个代码参考了一下终于弄好了 这段代码主要是实现了C#服务端对接 ...

  9. arcgis jsapi接口入门系列(2):图层基础操作

    //图层相关demo layerFun: function () { //获取地图的所有图层(不包括的图层类型:底图图层(basemaps)) let layers = this.map.layers ...

  10. Java、Node.js、PHP还是.Net? 无论你选谁,我都能教你一招!

    七夕如期而至,不该来的终究还是来了.再傲娇的单身贵族恐怕也难免在今天会感觉一丝丝的空虚.还好你关注了我,因为接下来我准备了三大招教你一个人…..也可以优雅地过七夕. 招式一:移形幻影,无中生有 七夕当 ...