首页 > 代码库 > 分享一个Android和java调用RESTful Web服务的利器Resting

分享一个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

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