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

更多相关文章

  1. Nginx系列教程(四)| 一文带你读懂Nginx的动静分离
  2. Android压缩图片和libjpeg库
  3. 5个顶级的Android开发库
  4. android开关按钮
  5. Android基础入门教程——3.3 Handler消息传递机制浅析
  6. Libgdx 之SpriteBatch深入分析
  7. Android(安卓)学习 笔记_12. Spinner的简单实使用
  8. Android(安卓)小項目之---标准体重测量仪:Bundle对象的实现(附源码
  9. Service完全解析 分类: ANDROID

随机推荐

  1. Android监听网络状态实现(BroadcastRecei
  2. Android排序数组的简单方法
  3. Android原生SQLite操作以及greenDao框架
  4. Android(安卓)-- Environment类
  5. android listview 中使用EditText 防止数
  6. 友盟统计 集成测试看不到实时日志
  7. Android(安卓)dialog,activity 屏蔽Home
  8. Android之异步任务AsyncTask解析Json数据
  9. Android(安卓)网络存储的例子
  10. 安卓学习路线参考