Java方法通过RestTemplate调用restful接口
背景:项目A需要在代码内部调用项目B的一个restful接口,该接口是POST方式,header中 Authorization为自定义内容,主要传输的内容封装在body中,所以使用到了RestTemplate。
public String batchInsertData(ImportEntity importEntity, String token) {
HttpHeaders headers = new HttpHeaders();
MediaType type = MediaType.parseMediaType(MEDIATYPE_JSON_UTF8);
headers.setContentType(type);
headers.set("Authorization", token);
HttpEntity<ImportEntity> entity = new HttpEntity<>(importEntity, headers);
try {
ResponseEntity<Object> result = restTemplate.exchange(httpsHost + IMPORT_HOSPITALDEPT_DATA, HttpMethod.POST, entity, Object.class);
if (null != result && result.getStatusCode() == HttpStatus.OK) {
if (result.getBody() != null) {
LinkedHashMap<String, String> hashMap = (LinkedHashMap<String, String>) result.getBody();
return hashMap.getOrDefault("msg", "导入成功!");
} else {
return StringUtils.EMPTY;
}
}
} catch (Exception e) {
LOGGER.error("导入失败!", e);
return "导入失败!";
}
return "导入成功!";
}
调用 get 请求:
private boolean validMessageCode(String validateCode, String phone, String type, boolean invalidWhenVerify) {
LOG.info("cUserUrl : " + cUserUrl + "; validateCode: " + validateCode + "; phone: " + phone);
StringBuilder url = new StringBuilder();
url.append(cUserUrl).append(VERIFY_MSGCODE)
.append(StringPool.QUESTION_MARK)
.append("msgCode").append(StringPool.EQUAL_SIGN).append(validateCode).append(StringPool.AND)
.append("phone").append(StringPool.EQUAL_SIGN).append(phone).append(StringPool.AND)
.append("invalidWhenVerify").append(StringPool.EQUAL_SIGN).append(invalidWhenVerify).append(StringPool.AND)
.append("type").append(StringPool.EQUAL_SIGN).append(type);
String response = restTemplate.exchange(url.toString(), HttpMethod.GET, new HttpEntity<>(new HttpHeaders()), String.class).getBody();
LOG.info("response : " + response);
JSONObject jsonObject = JSON.parseObject(response);
if (StringPool.ZERO != jsonObject.get(StringPool.RET_CODE)) {
return false;
}
return true;
}
Java方法通过RestTemplate调用restful接口的更多相关文章
- 三种方法实现java调用Restful接口
1,基本介绍 Restful接口的调用,前端一般使用ajax调用,后端可以使用的方法比较多, 本次介绍三种: 1.HttpURLConnection实现 2.HttpClient实现 3.Spring ...
- 三种方法实现调用Restful接口
1.基本介绍 Restful接口的调用,前端一般使用ajax调用,后端可以使用的方法比较多, 本次介绍三种: 1.HttpURLConnection实现 2.HttpClient实现 3.Spring ...
- Java调用RestFul接口
使用Java调用RestFul接口,以POST请求为例,以下提供几种方法: 一.通过HttpURLConnection调用 1 public String postRequest(String url ...
- python 调用RESTFul接口
本周需要将爬虫爬下来的数据入库,因为之前已经写好PHP的接口的,可以直接通过python调用PHP接口来实现,所以把方法总结一下. //python编码问题,因为好久用,所以很容易出现 # -*- c ...
- java调用restful接口的方法
Restful接口的调用,前端一般使用ajax调用,后端可以使用的方法如下: 1.HttpURLConnection实现 2.HttpClient实现 3.Spring的RestTemplate
- JAVA方法定义和调用
类的方法代表的是实例的某种行为或功能 定义类的方法 访问修饰 类型 方法名(参数列表){ //方法体 } 1.把方法当作一个模块,是个“黑匣子”,完成某个特定的功能,并返回处理结果 2.方法分类“ 返 ...
- java方法---定义,调用
定义,调用 1.方法的定义 方法就是一段用来完成特定功能的代码片段,类似于其它语言的函数. 方法用于定义该类或该类的实例的行为特征和功能实现.方法是类和对象行为特征的抽象. 方法很类似于面向过程中的函 ...
- HttpClient调用RestFul接口(post和get方式)
/** * @version V1.0 * @Description 调用http接口工具类 * @Author pc * @Date 2018/3/2 11:03 */public class Ht ...
- 初识JAVA——方法声明和调用
class TempConverter{ public static void main(String[]args) { changeTemp("132"); } //定义花摄 ...
随机推荐
- nginx 学习资料
nginx 学习资料 table th:first-of-type { width: 90px; } table th:nth-of-type(2) { } table th:nth-of-type( ...
- spring boot 2 返回Date 格式化问题
以前 返回数据把Date 转成 long的时间毫秒数.现在是格式化成了字符串. 默认的结果:"createDate": "2018-09-06T10:04:25.000 ...
- LOJ 3056 「HNOI2019」多边形——模型转化+树形DP
题目:https://loj.ac/problem/3056 只会写暴搜.用哈希记忆化之类的. #include<cstdio> #include<cstring> #incl ...
- .NET设计模式 第二部分 创建型模式(3)—建造者模式(Builder Pattern)
建造者模式(Builder Pattern) ——.NET设计模式系列之四 Terrylee,2005年12月17日 概述 在软件系统中,有时候面临着“一个复杂对象”的创建工作,其通常由各个部分的子对 ...
- Zookeeper 配置集群环境详解
在Linux环境下安装zookeeper 在Linux环境下安装zookeeper 1. 将zookeeper-3.4.13.tar.gz复制到linux操作系统 2. 通过p ...
- JavaMail SMTP服务器发送邮件程序示例 java通过dns服务器解析ip地址
/** * JavaMail SMTP服务器发送邮件程序示例 * 扮演SMTP服务器角色与邮件客户端软件最大的区别就是: * SMTP服务器需要解析不同接收人邮件地址主机名对应的SMTP服务器主机名 ...
- shopnc-setNcCookie-后台验证码
function setNcCookie($name, $value, $expire='3600', $path='', $domain='.a.cn', $secure=false){ if (e ...
- MMCM与PLL
MMCM与PLL 1.the clock management title(CMT) 弄清楚BUFR, IBUFG,BUFG,GT,BUFH,是什么. 2.MMCM内部结构 3.PLL内部结构 4 ...
- Windows Azure Virtual Machine (36) 扩展Azure ARM VM的磁盘大小
<Windows Azure Platform 系列文章目录> 在默认情况下,Azure ARM VM的操作系统磁盘(OS Disk),容量为: (1)Windows VM OS Disk ...
- win7下python2.6如何安装setuptools和pip
1. 下载 setuptools-0.6c9.tar.gz 下载地址:http://pypi.python.org/packages/source/s/setuptools/setuptools-0. ...