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的更多相关文章

  1. 使用Typescript重构axios(十九)——请求取消功能:实现第二种使用方式

    0. 系列文章 1.使用Typescript重构axios(一)--写在最前面 2.使用Typescript重构axios(二)--项目起手,跑通流程 3.使用Typescript重构axios(三) ...

  2. 使用Typescript重构axios(二十)——请求取消功能:实现第一种使用方式

    0. 系列文章 1.使用Typescript重构axios(一)--写在最前面 2.使用Typescript重构axios(二)--项目起手,跑通流程 3.使用Typescript重构axios(三) ...

  3. C#接口的三种实现方式

    转自原文C#接口的三种实现方式 public interface MyInterface { /// 下面三个方法的签名都是 /// .method public hidebysig newslot ...

  4. Spring学习笔记(6)——IoC的三种注入方式

    1.接口注入(不推荐) 2.构造器注入(死的应用) 3.getter,setter方式注入(比较常用) Type1 接口注入 我们常常借助接口来将调用者与实现者分离.如: public class C ...

  5. Spring Boot2 系列教程(十六)定时任务的两种实现方式

    在 Spring + SpringMVC 环境中,一般来说,要实现定时任务,我们有两中方案,一种是使用 Spring 自带的定时任务处理器 @Scheduled 注解,另一种就是使用第三方框架 Qua ...

  6. JavaScript实现接口的三种经典方式

    /* 接口:提供一种说明一个对象应该有哪些方法的手段 js中有三种方式实现接口: 1 注释描述接口 2 属性检测接口 3 鸭式辨型接口 */ /* 1 注释描述接口: 不推荐 优点: 利用注解,给出参 ...

  7. Java Callable接口与Future接口的两种使用方式

    Java Callable.Future的两种使用方式Callable+Futurepublic class Test { public static void main(String[] args) ...

  8. PHP-----------HTTP请求的第三方接口

    开发中常常遇到接口请求这个功能,后台也不例外,因为遇到了,所以写一篇. 前段时间做商城后台时,需要用到第三方物流接口查询物流信息. post: /**** * @param $url * @param ...

  9. 发送http请求,get和post两种请求方式

    GET请求 GetMethod getMethod=null; String datas = "json=" + plain; HttpClient httpClient = ne ...

随机推荐

  1. maven实战系列

    Maven实战(一)安装和配置 Maven实战(二)构建简单Maven项目 Maven实战(三)Eclipse构建Maven项目 Maven实战(四)生命周期 Maven实战(五)坐标详解 Maven ...

  2. TCP三次链接和四次断开

    经典的三次握手示意图:(#add,“握手”即图中左边到右边的连线)    经典的四次握手关闭图:    TCP是主机对主机层的传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接: 位码即t ...

  3. strcpy、memcpy和memset之间的区别

    今天刷题时遇到了这个问题,记录一下. strcpy比较简单,就是拷贝字符串,遇到'\0'时结束拷贝. memcpy用来做内存拷贝,可以拷贝任何数据类型的对象并指定拷贝数据的长度:char a[100] ...

  4. LightOJ 1074 Extended Traffic(spfa+dfs标记负环上的点)

    题目链接:https://cn.vjudge.net/contest/189021#problem/O 题目大意:有n个站点,每个站点都有一个busyness,从站点A到站点B的花费为(busynes ...

  5. Mysql中的Btree与Hash索引

    B-Tree 索引特征 B-Tree索引可以被用在像=,>,>=,<,<=和BETWEEN这些比较操作符上.而且还可以用于LIKE操作符,只要它的查询条件是一个不以通配符开头的 ...

  6. ECMA-Script5

    严格模式 所谓严格模式,从字面上就很好理解,即更严格的模式 在这种模式下执行,浏览器会对JS的要求更苛刻. 举例:  function m1(){      max = 100; } m1(); al ...

  7. anaconda不错的

  8. ceph存储池基本管理

    一,设置默认存储池的pg或pgp的值(推荐100左右),在ceph.conf文件里增加: osd pool default pg num = osd pool default pgp num = 二, ...

  9. jquery 修改样式

    //显示待办数字 function showdb(url,ID) {   jQuery.get(url,function(data,status){ if(!isNaN(data)) {  if(da ...

  10. Python的hasattr() getattr() setattr() 函数使用方法(简介)

    hasattr(object, name)判断一个对象里面是否有name属性或者name方法,返回BOOL值,有name特性返回True, 否则返回False.需要注意的是name要用括号括起来 1 ...