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"); } //定义花摄 ...
随机推荐
- System Generator 参数优化
System Generator 参数优化 通过命令行调试参数 然后编译,查看资源消耗.
- java小程序(课堂作业03)
使用类的静态字段和构造函数,我们可以跟踪某个类所创建对象的个数.请写一个类,在任何时候都可以向它查询“你已经创建了多少个对象?”. 思路:因为静态初始化块只运行一次,是一个很好的记录次数的方法,定义一 ...
- Linux磁盘监控工具说明
1.1 iostat 系统systat包里的工具,以kB/s为单位统计,2表示以2秒为频率统计一次:iostat –x –k 2 10000 rrqm/s:每秒这个设备相关的读取请求有多少被Merge ...
- Excel技巧--时尚的圆环比例图
如上图,制作方法如下: 1.创建圆环图:选择表格,点击“插入”-->点击 圆环图. 2.删除图中的标题和标记,将圆环内径缩至最小: 3.复制表格的数据,重复两次粘贴到图表中: 4.依次选择内两环 ...
- delphi absolute 应用实例
procedure TForm1.Button1Click(Sender: TObject); var i1,i2:Integer; b:..] of Byte absolute i1; // b 在 ...
- how to install an older version of package via NuGet?
转载 http://stackoverflow.com/questions/10206090/how-to-install-an-older-version-of-package-via-nuget ...
- sqlserver触发器执行顺序【未经验证】
exec sp_settriggerorder @triggername = 'tr_customer_1', @order = 'first', @stmttype = 'insert',@name ...
- camtasis studio 未能创建视频内存资源。
camtasis studio failed to create a video memory resource.camtasis studio 未能创建视频内存资源. 在工具--选项中取消GPU加速 ...
- 关闭AutoCAD 2019快速访问工具栏的web和moblie保存文件功能
解决方法如下:1.先关闭CAD,再打开注册表编辑器:开始--运行--输入 regedit2.定位到 [HKEY_LOCAL_MACHINE\SOFTWARE\Autodesk\AutoCAD\R23. ...
- SET FMTONLY ON
有时候在执行SQL查询语句时,仅仅需要知道检索的元数据,而不是具体的数据行,可以设置SET FMTONLY ON. SET FMTONLY只将元数据返回给客户端. 语法SET FMTONLY { ON ...