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. POJ 2348 Euclid's Game(辗转相除博弈+自由度分析)

    题目链接:http://poj.org/problem?id=2348 题目大意:给你两个数a,b,Stan和Ollie轮流操作,每次可以将较大的数减去较小的数的整数倍,相减后结果不能小于0,谁先将其 ...

  2. Hadoop案例(五)过滤日志及自定义日志输出路径(自定义OutputFormat)

    过滤日志及自定义日志输出路径(自定义OutputFormat) 1.需求分析 过滤输入的log日志中是否包含xyg (1)包含xyg的网站输出到e:/xyg.log (2)不包含xyg的网站输出到e: ...

  3. zookeeper的简单使用

    前言 最近项目中要使用基于zookeeper的集中配置管理系统,而对于zookeeper仅在当初使用阿里开源分布式服务调用框架dubbo时简单的了解一下.本 文的主要目的,调用zkclient (ma ...

  4. js获取url链接地址的参数

    访问地址为:http://XXX.com?style=green <script language="javascript"> var getArgs = functi ...

  5. lr_get_transaction_duration 函数介绍

    lr_get_transaction_duration 用于获取事务所消耗的时间. 实例: Action() { double trans_time; //定义变量 web_url("www ...

  6. Codeforces Round #489 (Div. 2) E - Nastya and King-Shamans

    E - Nastya and King-Shamans 题目大意:有n个数,每一次操作更改一个数,每次操作之后问你是否有一个数等于其前面所有数的和. 思路:好题,想了很久没想出来,看了题解,主要思想就 ...

  7. SaltStack--Job管理 (八)

    官方文档:https://docs.saltstack.com/en/2016.11/ref/modules/all/salt.modules.saltutil.html [root@7mini-no ...

  8. 图形管线之旅 Part4

    原文:<A trip through the Graphics Pipeline 2011> 翻译:往昔之剑   转载请注明出处   欢迎回来.上个部分是关于vertex shader的, ...

  9. JSP中的9大内置对象四大域与servlet里的三大域

    九大内置对象 隐式对象 说明 out 转译后对应JspWriter对象,其内部关联一个PringWriter对象 request 转译后对应HttpServletRequest/ServletRequ ...

  10. RxSwift 系列(六)

    前言 本篇文章将要学习RxSwift中数学和集合操作符,在RxSwift中包括了: toArray reduce concat toArray 将一个Observable序列转化为一个数组,并转换为一 ...