背景:项目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接口的更多相关文章

  1. 三种方法实现java调用Restful接口

    1,基本介绍 Restful接口的调用,前端一般使用ajax调用,后端可以使用的方法比较多, 本次介绍三种: 1.HttpURLConnection实现 2.HttpClient实现 3.Spring ...

  2. 三种方法实现调用Restful接口

    1.基本介绍 Restful接口的调用,前端一般使用ajax调用,后端可以使用的方法比较多, 本次介绍三种: 1.HttpURLConnection实现 2.HttpClient实现 3.Spring ...

  3. Java调用RestFul接口

    使用Java调用RestFul接口,以POST请求为例,以下提供几种方法: 一.通过HttpURLConnection调用 1 public String postRequest(String url ...

  4. python 调用RESTFul接口

    本周需要将爬虫爬下来的数据入库,因为之前已经写好PHP的接口的,可以直接通过python调用PHP接口来实现,所以把方法总结一下. //python编码问题,因为好久用,所以很容易出现 # -*- c ...

  5. java调用restful接口的方法

    Restful接口的调用,前端一般使用ajax调用,后端可以使用的方法如下: 1.HttpURLConnection实现 2.HttpClient实现 3.Spring的RestTemplate

  6. JAVA方法定义和调用

    类的方法代表的是实例的某种行为或功能 定义类的方法 访问修饰 类型 方法名(参数列表){ //方法体 } 1.把方法当作一个模块,是个“黑匣子”,完成某个特定的功能,并返回处理结果 2.方法分类“ 返 ...

  7. java方法---定义,调用

    定义,调用 1.方法的定义 方法就是一段用来完成特定功能的代码片段,类似于其它语言的函数. 方法用于定义该类或该类的实例的行为特征和功能实现.方法是类和对象行为特征的抽象. 方法很类似于面向过程中的函 ...

  8. HttpClient调用RestFul接口(post和get方式)

    /** * @version V1.0 * @Description 调用http接口工具类 * @Author pc * @Date 2018/3/2 11:03 */public class Ht ...

  9. 初识JAVA——方法声明和调用

      class TempConverter{ public static void main(String[]args) { changeTemp("132"); } //定义花摄 ...

随机推荐

  1. python实现tail -f 功能

    这篇文章最初是因为reboot的群里,有人去面试,笔试题有这个题,不知道怎么做,什么思路,就发群里大家讨论 我想了一下,简单说一下我的想法吧,当然,也有很好用的pyinotify模块专门监听文件变化, ...

  2. python装饰器学习笔记

    定义:本质上就是个函数,(装饰器其他函数)就是为了给其他函数添加附加功能 原则:1.不能修改被装饰的函数的源代码 2.不能修改被装饰的函数的调用方式 #-*-coding:utf-8-*- 1 imp ...

  3. VMware下ubuntu与Windows实现文件共享的方法 (转)

    最近安装caffe需要将Windows下文件拷贝到ubuntu16.04下,就进行了共享文件夹的设置,期间遇到一些困难,记录下来,方便以后遇到此类问题不再困惑. (记录只为更好的分享) 言归正传: 1 ...

  4. 升级ambari、HDP版本(ambari 2.1升级到2.4、HDP2.3升级到2.5)

    转载自:http://blog.csdn.net/levy_cui/article/details/52461377 官方升级版本说明 http://docs.hortonworks.com/HDPD ...

  5. springboot下多线程开发注意事项

    基于springboot的多线程程序开发过程中,由于本身也需要注入spring容器进行管理,才能发挥springboot的优势.所以这篇文字主要用来记录开发中两者结合时需要注意的一些事项. 第一步我们 ...

  6. 黄聪:bootstrap的模态框modal插件在苹果iOS Safari下光标偏离问题解决方案

    一行CSS代码搞定: body.modal-open { position: fixed; width: 100%; }

  7. Array and Colon in Matlab

    1. Colon x=1:4 % x=[1 2 3 4] x=1:2:5 % x=[1 3 5]  (递增值为2) 2. Array 用一个矩阵作为例子: A=[1 2 3; 4 5 6; 7 8 9 ...

  8. pytest.3.Assert

    From: http://www.testclass.net/pytest/assert/ Assert就是断言,每个测试用例都需要断言. 与unittest不同,pytest使用的是python自带 ...

  9. 【springBoot】之starter pom

    SpringBoot针对不同业务提供了不同的starter pom,根据springboot版本不同可能有差异. spring-boot-starter springboot核心starter ,包括 ...

  10. 【支付专区】之微信支付构建请求参数xml

    /** * <p>Desc:weChat构建请求参数</p> * <p>参数名ASCII码从小到大排序(字典序)</p> * @param params ...