分享一个Android和java调用RESTful Web服务的利器Resting

分享一个Android和java调用RESTful Web服务的利器Resting

当我们调用Web服务,往往是最终目标是取HTTP响应,将其转化为将在应用中呈现的值对象。Resting可以用来实现这一功能。
Resting,在Java的一个轻量级的REST框架,可用于调用一个RESTful Web服务,并转换成响应来自客户端应用程序定制的Java对象。由于它的简单,resting是适合Android等手持设备。

resting目标
?暴露简单的get(),post(),put()和delete()方法来消费REST服务
?支持像JSON,XML,ATOM和YAML所有常用的MIME类型
?启用的REST风格的Web服务HTTP和HTTPS(SSL)调用
?支持基本身份验证
?支持代理
?支持转型过程中任意复杂的编组数据和解组
?支持在REST请求集合定制代表性
?轻量级,操作简单,快捷。非常适用于Android系统。

1.导入相应的java包:

import java.io.File;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import org.apache.http.Header;
import org.apache.http.message.BasicHeader;
import com.google.resting.Resting;
import com.google.resting.RestingBuilder;
import com.google.resting.atom.AtomFeed;
import com.google.resting.component.Alias;
import com.google.resting.component.EncodingTypes;
import com.google.resting.component.RequestParams;
import com.google.resting.component.Verb;
import com.google.resting.component.content.ContentType;
import com.google.resting.component.impl.BasicRequestParams;
import com.google.resting.component.impl.ServiceResponse;
import com.google.resting.component.impl.json.JSONAlias;
import com.google.resting.component.impl.json.JSONRequestParams;
import com.google.resting.component.impl.xml.XMLAlias;
import com.google.resting.transform.impl.JSONTransformer;
import com.google.resting.transform.impl.XMLTransformer;
import com.google.resting.util.ReflectionUtil;

2.初始化RequestParams,调用静态方法Resting.getByJSON并且转成相应对象:

public void testGetByJSON() {
                System.out.println("\ntestGetByJSON\n-----------------------------");
                RequestParams jsonParams = new JSONRequestParams();  
                jsonParams.add("key", "fdb3c385a8d22d174cafeadc6d4c1405b08d5609"); 
                try {
                        List<Product> products=Resting.getByJSON("http://api.zappos.com/Product/7515478",80,jsonParams, Product.class, "product");
                        System.out.println("[RestingTest::getByJSON] The product detail is "+products.get(0).toString());
                } catch (Exception e) {
                        e.printStackTrace();
                }
        }

public class Product {
        private int productId;

public int getProductId(){
                return productId;
        }
        public String toString(){
                return "Product id="+productId;
        }
}

3.Resting里的静态方法支持:get(),post(),put()和delete()

同时支持getbyJSON,getbyXML,getbyATOM和getbyYAML
例子请看源码下载里的resting.zip\resting\resting\src\test\com\google\resting
另外一些简单介绍这个组件如何使用的Wiki页面(可以使用eclipse/vs/notepad++等打开):resting.zip\wiki

初始源码:http://code.google.com/p/resting/
源码下载:http://download.csdn.net/detail/yangzhenping/8398281

时间: 2024-08-03 09:50:41

分享一个Android和java调用RESTful Web服务的利器Resting的相关文章

基于jersey和Apache Tomcat构建Restful Web服务(一)

基于jersey和Apache Tomcat构建Restful Web服务(一) 现如今,RESTful架构已然成为了最流行的一种互联网软件架构,它结构清晰.符合标准.易于理解.扩展方便,所以得到越来越多网站的采用.那么问题来了,它是什么呢? 起源 REST(Representational state transfer)在 2000 年由 Roy Fielding 在博士论文中提出,他是 HTTP 规范 1.0 和 1.1 版的首席作者之一. REST 中最重要的概念是资源(resources

[译]Spring Boot 构建一个RESTful Web服务

翻译地址:https://spring.io/guides/gs/rest-service/ 构建一个RESTful Web服务 本指南将指导您完成使用spring创建一个“hello world”RESTful Web服务的过程. 你将会构建什么 您将构建一个将接受HTTP GET请求的服务: 您将构建一个将接受HTTP GET请求的服务: http://localhost:8080/greeting 1 1 并且使用JSON的形式进行响应: {"id":1,"conten

JAVA与.NET的相互调用——通过Web服务实现相互调用

JAVA与.NET是现今世界竞争激烈的两大开发媒体,两者语言有很多相似的地方.而在很多大型的开发项目里面,往往需要使用两种语言进行集成开发.而很多的开发人员都会偏向于其中一种语言,在使用集成开发的时候对另一种语言感觉到畏惧.在这里在下向各位介绍一下,JAVA与.NET相互调用的例子.下面的介绍主要包括三方面:一是通过常用Web服务进行相互调用,二是使用TCP/IP套接字进行相互调用,三是使用Remote实现远程对象相互调用. 在这章里面先为大家介绍一下最简单,最常用的Web服务相互调用方式.首先

spring boot 用maven搭建第一个RESTful Web 服务

spring boot的出现就是为了简化spring项目的构建,让你尽快的上手一个spring项目,并快速的生成一个可执行的spring微服务. 让我们来看看多简单,这里我们直接用spring的IDE,Spring Tool Suite,建第一个restful web服务. 1.在工作空间的右键,直接新建一个spring start project 2.选择构建spring boot 项目的工具,这里我们用maven 3.填好相关空格之后,选择你想构建的spring boot demo项目,这里

分享一个Android版 仿QQ局域网即时通信软件(可发文件、语音、录音)

一.支持的功能有文字信息交互.语音聊天.发送文件和录音 源码会在后面附上. 二.UI展示图 三.经过我的测试,是非常成功的.只是有一点不足就是语音实时通话的时候声音会回声甚至死机. 文件传送和文字,录音都比较成功. 四.本软件是用Java编码,在安卓平台上的应用.使用了UDP协议和TCP协议. 大家可以学习这两部分的代码. 里面注释还是比较多. 五.当然我只是个学生,这个只是学生版本,仅供大家学习借鉴之用.绝对不能用于商业拿去直接卖,或者改改就上架某市场. 六.宣传下本人的小制作: 单机斗地主-

让你的 wowza 服务器提供 RESTful web 服务

有时我们 nginx 需要和 wowza 服务器交互以进行一些 LB 事宜:有时我们的管理员需要实时了解 wowza 服务器的一些其他状态信息(比如一些自定义对象的状态等等),而用 rtmp 不是太方便.这些情况下,如果我们的 wowza 服务器能提供一个 http api 就好了,就像 web 容器 tomcat 那样.本文以一个简单的 http 发送参数到 wowza,然后 wowza 返回一个 json 为例(经典的 REST 案例),介绍如何让你的 wowza 服务器提供 RESTful

使用 Jersey 和 Apache Tomcat 构建 RESTful Web 服务

RESTful Web 服务简单介绍 REST 在 2000 年由 Roy Fielding 在博士论文中提出,他是 HTTP 规范 1.0 和 1.1 版的首席作者之中的一个. REST 中最重要的概念是资源(resources),使用全球 ID(通常使用 URI)标识. client应用程序使用 HTTP 方法(GET/ POST/ PUT/ DELETE)操作资源或资源集.RESTful Web 服务是使用 HTTP 和 REST 原理实现的 Web 服务.通常,RESTful Web 服

Jersey RESTful Web服务

Jersey是一个RESTFUL请求服务JAVA框架,与常规的JAVA编程使用的struts框架类似,它主要用于处理业务逻辑层.与Struts类似,它同样可以和hibernate,spring框架整合. 由于Struts2+hibernate+spring整合在市场的占有率太高,所以很少一部分人去关注Jersey.所以网上有关于Jersey的介绍很少.但是它确实是一个非常不错的框架.对于请求式服务,对于GET,DELETE请求,你甚至只需要给出一个URI即可完成操作. 举个简单的例子:如果你想获

基于jersey和Apache Tomcat构建Restful Web服务(二)

基于jersey和Apache Tomcat构建Restful Web服务(二) 上篇博客介绍了REST以及Jersey并使用其搭建了一个简单的“Hello World”,那么本次呢,再来点有趣的东西,当然也是很简单了,仅仅是在路径中包含参数而已了.接下来开始动手实践吧. 在路径中包含参数 接下来就在上次的基础上进行改动即可,或者是再添加一个方法,随意了,这个方法主要就是在路径中加入输入的参数,并且根据参数的不同,它的返回值也不同,返回值为“Hello”+你输入的参数.这里用到了“PathPar