【spring】RestTemplate发送请求,请求第三方接口 的几种请求方式POST,GET,DELETE,PUSH
org.springframework.web.client.RestTemplate
参考地址:http://www.cnblogs.com/UniqueColor/p/7123347.html
GitHub源码地址:
使用示例代码:
public int doClear(List<CodeChangeOption> typeList, CodeChangeLog codeChangeLog) {
AdminUser adminUser = AdminUser.createFeignUser("ms-code");
List<String> scList = codeChangeLog.getScList();
HttpHeaders requestHeaders = new HttpHeaders();
MediaType contentType = MediaType.parseMediaType("application/json; charset=UTF-8");
requestHeaders.setContentType(contentType);
requestHeaders.add("x-admin-info", JSON.toJSONString(adminUser));
CodeChangeReqBean reqBean = new CodeChangeReqBean();
reqBean.setScList(scList);
HttpEntity<String> requestEntity = new HttpEntity<String>(JSON.toJSONString(reqBean), requestHeaders);
JSONObject jsonObj = new JSONObject();
//失败个数
int failNum = typeList.size();
for (CodeChangeOption clearType : typeList) {
String uid = clearType.getUid();
int reqSuccess = CodeChangeLog.CHANGE_FAIL;
//发送清除请求
String url = "http://" + clearType.getAppName() + clearType.getApiPath();
ResponseEntity<String> response = null;
try {
response = lunaRestTemplate.exchange(url, HttpMethod.POST, requestEntity, String.class);
if (response != null && response.getStatusCode() == HttpStatus.OK) {
//请求成功
String body = response.getBody();
JSONObject parseObject = JSON.parseObject(body);
if (parseObject.getBoolean("success")) {
// type : success
failNum--;
reqSuccess = CodeChangeLog.CHANGE_SUCCESS;
}
}
} catch (Exception e) {
e.printStackTrace();
}
JSONObject jsonObject = new JSONObject();
jsonObject.put("name", clearType.getName());
jsonObject.put("success", reqSuccess);
jsonObj.put(uid, jsonObject);
}
codeChangeLog.setChangeJsonString(jsonObj.toJSONString());
if(failNum == 0){
codeChangeLog.setSuccess(CodeChangeLog.CHANGE_SUCCESS);
}else{
codeChangeLog.setSuccess(CodeChangeLog.CHANGE_FAIL);
}
//修改日志记录
return mapper.update(codeChangeLog);
}
【spring】RestTemplate发送请求,请求第三方接口 的几种请求方式POST,GET,DELETE,PUSH的更多相关文章
- 使用Typescript重构axios(十九)——请求取消功能:实现第二种使用方式
0. 系列文章 1.使用Typescript重构axios(一)--写在最前面 2.使用Typescript重构axios(二)--项目起手,跑通流程 3.使用Typescript重构axios(三) ...
- 使用Typescript重构axios(二十)——请求取消功能:实现第一种使用方式
0. 系列文章 1.使用Typescript重构axios(一)--写在最前面 2.使用Typescript重构axios(二)--项目起手,跑通流程 3.使用Typescript重构axios(三) ...
- C#接口的三种实现方式
转自原文C#接口的三种实现方式 public interface MyInterface { /// 下面三个方法的签名都是 /// .method public hidebysig newslot ...
- Spring学习笔记(6)——IoC的三种注入方式
1.接口注入(不推荐) 2.构造器注入(死的应用) 3.getter,setter方式注入(比较常用) Type1 接口注入 我们常常借助接口来将调用者与实现者分离.如: public class C ...
- Spring Boot2 系列教程(十六)定时任务的两种实现方式
在 Spring + SpringMVC 环境中,一般来说,要实现定时任务,我们有两中方案,一种是使用 Spring 自带的定时任务处理器 @Scheduled 注解,另一种就是使用第三方框架 Qua ...
- JavaScript实现接口的三种经典方式
/* 接口:提供一种说明一个对象应该有哪些方法的手段 js中有三种方式实现接口: 1 注释描述接口 2 属性检测接口 3 鸭式辨型接口 */ /* 1 注释描述接口: 不推荐 优点: 利用注解,给出参 ...
- Java Callable接口与Future接口的两种使用方式
Java Callable.Future的两种使用方式Callable+Futurepublic class Test { public static void main(String[] args) ...
- PHP-----------HTTP请求的第三方接口
开发中常常遇到接口请求这个功能,后台也不例外,因为遇到了,所以写一篇. 前段时间做商城后台时,需要用到第三方物流接口查询物流信息. post: /**** * @param $url * @param ...
- 发送http请求,get和post两种请求方式
GET请求 GetMethod getMethod=null; String datas = "json=" + plain; HttpClient httpClient = ne ...
随机推荐
- Java容器---Arrays & Collections工具类
1.Array & Arrays 与Collection & Collections区别 (1)Collection": 是一个接口,与其子类共同组成一个Collection ...
- 深度揭秘阿里移动端高性能动态化方案Weex
2016年Qcon大会首日,阿里巴巴资深总监.淘宝移动平台.阿里百川负责人庄卓然宣布移动端高性能动态化方案Weex即时内测,并将于6月开源.此消息一出,群情汹涌,在座的程序猿.攻城狮们纷纷拿起手机扫码 ...
- Flyweight模式(亨元模式)
这应该算是最好理解的一个设计模式了吧·················· 面向对象语言的原则就是一切都是对象,但是如果真正使用起来,有时对象数可能显得很庞大,比如,字处理软件,如果以每个文字都作为一个 ...
- python实现IMAP协议下email收取
本文为转载,原文在这里. 所谓无痕取信,目前主要是指从邮箱中把信件收取后,邮箱内状态不发生任何改变.这里的状态主要是指两部分,一部分是邮件状态不变,即已读与未读状态不变,另一部分是指邮箱记录的登陆IP ...
- jmeter-----如何安装插件管理?
1.下载插件管理jar文件,http://www.jmeter-plugins.org/wiki/PluginsManager/ 2. 拷贝这jar文件到 \lib\ext文件夹里 3. 重新打开JM ...
- 重记解决kube-dns故障一则---ceph惹的祸
上次,在同一个k8s集群里安装完ceph进行功能测试. 当测试完成之后,我停止了ceph的程序,再重新启动k8s集群. 结果,有一个应用就出问题了. 后来查出是因为防火墙里 Chain FORWARD ...
- web2.0 HW3 相关阅读材料
W3C官网的材料简直看花眼……除了挂出的文档,www-style@w3.org的一堆邮件也藏着很多宝,但是看下来又眼花了……(好在宝们基本都被W3C吸收了=.=) 主要来自W3C的官网w3.org的一 ...
- pymongo的一些操作
参考:http://www.yiibai.com/mongodb/mongodb_drop_collection.html http://www.cnblogs.com/zhouxuchen/p/55 ...
- thinkphp5.0安装
ThinkPHP5的环境要求如下: PHP >= 5.4.0 PDO PHP Extension MBstring PHP Extension CURL PHP Extension 严格来说,T ...
- 【leetcode】22. Generate Parentheses
题目描述: Given n pairs of parentheses, write a function to generate all combinations of well-formed par ...