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