如何在Java客户端调用RESTful服务
在这个例子中,我们将看到如何使用java.net包实用工具,创建一个访问REST服务RESTful的客户端。当然这不是创建一个RESTful客户端最简单的方法,因为你必须自己读取服务器端的响应,以及Json和Java对象的转换。
请求Get
public class JavaNetURLRESTFulClient {
private static final String targetURL = "http://localhost:8080/JerseyJSONExample/rest/jsonServices/print/Jamie";
public static void main(String[] args) {
try {
URL restServiceURL = new URL(targetURL);
HttpURLConnection httpConnection = (HttpURLConnection) restServiceURL.openConnection(); httpConnection.setRequestMethod("GET"); httpConnection.setRequestProperty("Accept", "application/json");
if (httpConnection.getResponseCode() != 200) { throw new RuntimeException("HTTP GET Request Failed with Error code : " + httpConnection.getResponseCode()); }
BufferedReader responseBuffer = new BufferedReader(new InputStreamReader( (httpConnection.getInputStream())));
String output; System.out.println("Output from Server: \n");
while ((output = responseBuffer.readLine()) != null) { System.out.println(output); }
httpConnection.disconnect();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
} }
运行后输出结果是:
Output from Server: {"id":1,"firstName":"Jamie","age":22,"lastName":"Diaz"}
POST提交:
public class JavaNetURLRESTFulClient {
private static final String targetURL = "http://localhost:8080/JerseyJSONExample/rest/jsonServices/send";
public static void main(String[] args) {
try {
URL targetUrl = new URL(targetURL);
HttpURLConnection httpConnection = (HttpURLConnection) targetUrl.openConnection(); httpConnection.setDoOutput(true); httpConnection.setRequestMethod("POST"); httpConnection.setRequestProperty("Content-Type", "application/json");
String input = "{\"id\":1,\"firstName\":\"Liam\",\"age\":22,\"lastName\":\"Marco\"}";
OutputStream outputStream = httpConnection.getOutputStream(); outputStream.write(input.getBytes()); outputStream.flush();
if (httpConnection.getResponseCode() != 200) { throw new RuntimeException("Failed : HTTP error code : " + httpConnection.getResponseCode()); }
BufferedReader responseBuffer = new BufferedReader(new InputStreamReader( (httpConnection.getInputStream())));
String output; System.out.println("Output from Server:\n"); while ((output = responseBuffer.readLine()) != null) { System.out.println(output); }
httpConnection.disconnect();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
} }
如何在Java客户端调用RESTful服务相关推荐
- restful java客户端_如何在Java客户端调用RESTful服务
在这个例子中,我们将看到如何使用java.net包实用工具,创建一个访问REST服务RESTful的客户端.当然这不是创建一个RESTful客户端最简单的方法,因为你必须自己读取服务器端的响应,以及J ...
- 转载——Java与WCF交互(一):Java客户端调用WCF服务
最近开始了解WCF,写了个最简单的Helloworld,想通过java客户端实现通信.没想到以我的基础,居然花了整整两天(当然是工作以外的时间,呵呵),整个过程大费周折,特写下此文,以供有需要的朋友参 ...
- Java与WCF交互(一):Java客户端调用WCF服务
最近开始了解WCF,写了个最简单的Helloworld,想通过java客户端实现通信.没想到以我的基础,居然花了整整两天(当然是工作以外的时间,呵呵),整个过程大费周折,特写下此文,以供有需要的朋友参 ...
- Elasticsearch java客户端调用cat服务
开发环境,测试环境,预发环境和生产环境一般相互隔离的,使用开发环境或者测试环境可以使用cat来查看索引的情况 例如: 但预防环境和测试环境是不允许访问的,那怎么办呢? 可以使用后台来查看上述信息,提供 ...
- SpringCloud系列二:Restful 基础架构(搭建项目环境、创建 Dept 微服务、客户端调用微服务)...
声明:本文来源于MLDN培训视频的课堂笔记,写在这里只是为了方便查阅. 1.概念:Restful 基础架构 2.具体内容 对于 Rest 基础架构实现处理是 SpringCloud 核心所在,其基本操 ...
- java拉起服务,从Java调用Restful服务
UPDATE as follow up with this: Can I do this way?? if the xml being returned as 4 -.. If I am constr ...
- SpringCloud 搭建项目环境、创建 Dept 微服务、客户端调用微服务
对于 Rest 基础架构实现处理是 SpringCloud 核心所在,其基本操作形式在 SpringBoot 之中已经有了明确 的讲解,那么本次为 了清晰可见,创建一套新的微服务架构:部门微服务(De ...
- JAVA客户端调用SAP提供的接口(保姆级教程)
目前接触到SAP提供了两种不同的接口,对应也有两种不同的调用方式:1.Restful接口,支持直接通过post请求调用:2.WSDL接口,需要使用SoapUI测试并生成代码调用.大家在对接前要先确认接 ...
- 客户端调用网关服务“网络请求错误“
问题: 客户端调用网关服务"网络请求错误" 分析: 刚开始看到这个错误时,什么也没想,直接在网关项目代码全局搜"网络请求错误"结果什么也没搜索到,于是在网关服务 ...
最新文章
- 无线通信 -- 跳频技术
- 腾讯计费全面开放,为你而来!
- 数据可视化|实验一 绘图基础语法和常用参数
- win7屏保文件.scr_如何将屏保添加到Ubuntu 12.04
- 红旗linux的安装命令,红旗linux安装【处理思路】
- IOS基础学习日志(七)利用dispatch_once创建单例及使用
- 最实用也最容易被遗忘的 Linux 命令行使用技巧
- OC-NSString
- mysql错误编号2058_SQLyog连接MySQL时出现的2058错误解决方法
- 「硬见小百科」100个示波器基础知识问答
- HCIA网络基础01
- Nvidia AGX Xavier MAX9286 GMSL 载板(绿板)
- qq视频压缩的方法你知道吗
- linux x86_64和linux aarch64如何选择
- 【JY】No.7.1力学架构结构力学求解器(SM)使用教程
- ERP系统是什么意思?ERP系统有哪些品牌?
- Linux运维学习笔记之三十一:监控利器Nagios实战
- 第十六届北京师范大学程序设计竞赛决赛
- 谷歌恐龙游戏HTML,谷歌浏览器自带的恐龙跑酷小游戏
- Docker基本命令和操作
热门文章
- 将json转为map的两种方式及前后端开发json Api设计规范总结
- SqlServer 按指定顺序进行排序
- unix/mac/dos-windows三种文本文件的格式的行尾区别
- 敢死队核心:{买了就涨指标}
- 活动报名 | DEF CON之后,最令人期待的网络安全盛会(内附赠票)
- Apache RocketMQ 发布 v4.4.0,新添权限控制和消息轨迹特性
- 过程、性能基线、性能模型与目标之间的关系
- 第一章 Windows编程基础(1~4课)
- 第三百零九节,Django框架,models.py模块,数据库操作——F和Q()运算符:|或者、并且——queryset对象序列化...
- 存储技术复杂性的代价