没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
Spring for Android Reference Documentation 译译 : Spring for Android参 考 文档参 考 文 档
本帮助文档是 觉得烦死 整理--QQ:654638585
声明:
中文文档都是由软件翻译,翻译内容未检查校对,文档内容仅供参考。
您可以任意转发,但请至保留作者&出处(http://bolg.fondme.cn),请尊重作者劳动成果,谢谢!
Authors 译译 :作 者作 者
Roy Clarkson
2.0.0.M3
版权所有©2010-2014
本文件副本可供您自行使用并分发给其他人,前提是您不收取任何此类副本的费用,并进一步规定每份副本均包含此版权声明,无论是
以印刷版还是电子版分发。
1. Spring for Android Overview 译译 : 1. Spring for Android概 述概述
1.1 Introduction 译译 : 1.1简 介简 介
Spring for Android项目支持在Android环境中使用Spring Framework。 这包括将RestTemplate用作Android应用程序的
REST客户端的能力。 Spring for Android还支持将Spring Social功能集成到您的Android应用程序中,该应用程序包括一
个强大的基于OAuth的授权客户端以及用于热门社交网站(如Twitter和Facebook)的实现。
2. RestTemplate Module 译译 : 2. RestTemplate模 块模 块
2.1 Introduction 译译 : 2.1简 介简 介
Spring的RestTemplate是一个强大而流行的基于Java的REST客户端。 Spring RestTemplate模块提供了Android模式下
的RestTemplate版本。
2.2 Overview 译译 : 2.2概 述概 述
RestTemplate 类是Android RestTemplate库的Spring的核心。 它在概念上与其他Spring组合项目中的其他模板类相
似。 RestTemplate的行为通过提供回调方法和配置用于将对象 HttpMessageConverter 送到HTTP请求正文中并将任
何响应解组回到对象中来定制。 当您创建新的 RestTemplate 实例时,构造函数会设置几个支持RestTemplate功能的
支持对象。
以下是 RestTemplate 内支持的功能概述。
2.2.1 HTTP Client 译译 : 2.2.1 HTTP客 户 端客 户 端
RestTemplate 提供了用于制作RESTful HTTP请求的抽象,并且在内部 RestTemplate 为这些请求使用了本机Android
HTTP客户端库。 Android上有两个本地HTTP客户端,标准的J2SE设施和HttpComponents HttpClient 。 标准的JS2SE
设施通过 SimpleClientHttpRequestFactory ,而HttpClient可通
过 HttpComponentsAndroidClientHttpRequestFactory 。 支持本地HttpClient 4.0已弃用,以支持HttpClient 4.3的
Android端口。 创建新的 RestTemplate 实例时使用的默认 ClientHttpRequestFactory 根据运行应用程序的
Android版本而 RestTemplate 。
Google建议在Android 2.3 (Gingerbread)和更新的版本上使用J2SE工具,而以前的版本应该使用HttpComponents
HttpClient。 根据此建议, RestTemplate 检查您的应用正在运行的Android版本,并使用相应
的 ClientHttpRequestFactory 。 要使用特定的 ClientHttpRequestFactory 您必须将新实例传递
给 RestTemplate 构造函数,或者在现有的 RestTemplate 实例上调
用 setRequestFactory(ClientHttpRequestFactory requestFactory) 。
Android版Spring还包含对第三方HTTP客户端库的支持。 HttpClient 4.3 for Android与Android的所有版本兼容,并且可
以通过简单地将依赖项包括在项目中而用作本地客户端的替代品。 如果Spring for Android检测到HttpClient 4.3,它会自
动将其配置为默认 ClientHttpRequestFactory 。 HttpClient 4.3对Android中包含的本地HttpClient 4.0进行了相当多
的错误修复和改进。
dependencies {
compile('org.apache.httpcomponents:httpclient-android:$httpClientVersion')
}
基于OkHttp的附加 ClientHttpRequestFactory 可作为两个本地客户端的替代品。 RestTemplate 可以配置为使
用 OkHttpRequestFactory 通过 RestTemplate 构造函数或通过设置 requestFactory 属性。 它在Android 2.3(姜
饼)和更新的版本上受到支持,但是为了使用它,您必须在项目中包含OkHttp依赖项。
dependencies {
compile('com.squareup.okhttp:okhttp-urlconnection:$okHttpVersion')
}
2.2.2 Gzip Compression 译译 : 2.2.2 Gzip压缩压 缩
RestTemplate 支持发送和接收使用gzip压缩编码的数据。 HTTP规范允许 Accept-Encoding 标题字段中包含其他
值,但 RestTemplate 仅支持gzip压缩。
2.2.3 Object to JSON Marshaling 译译 : 2.2.3对对 JSON封送 的 对象封 送 的 对 象
对于Spring中用于Android的JSON封送的对象RestTemplate需要使用第三方JSON映射库。 Spring的Android支持两个
库, Jackson 2.x和Google Gson 。 虽然杰克逊是一个众所周知的JSON解析库,但Gson库较小,因此打包时会导致较
小的Android应用程序。
2.2.4 Object to XML Marshaling 译译 : 2.2.4 XML 编组编 组 对 象对 象
对于Spring中用于Android的XML编组的对象RestTemplate需要使用第三方XML映射库。 Simple XML serializer用于提
供此编组功能。
2.3 How to get 译译 : 2.3如 何获 得如 何 获 得
有几种方法可以在您的Android应用中添加外部罐子。 您可以使用Gradle或Maven进行依赖关系管理,也可以手动下载
它们并将它们包含在应用程序的 libs/ 文件夹中。
2.3.1 Gradle 译译 : 2.3.1 Gradle
Android Studio和Android的New Build System为构建Android应用程序提供了一个Gradle插件。 Gradle提供内置的依赖
管理,可用于在项目中包含Spring for Android依赖项。
将spring-android-rest-template依赖项添加到您的 build.gradle 文件中:
dependencies {
compile('org.springframework.android:spring-android-rest-template:${version}')
}
2.3.2 Maven 译译 : 2.3.2 Maven
Maven可用于管理依赖关系并构建您的Android应用程序。 请参阅Spring for Android and Maven部分以获取更多信息。
可能需要额外的依赖项,具体取决于您在RestTemplate中使用的HTTP消息转换器。 请参阅Message Converters部分了
解更多信息。
将spring-android-rest-template依赖项添加到您的 pom.xml 文件中:
<dependency>
<groupId>org.springframework.android</groupId>
<artifactId>spring-android-rest-template</artifactId>
<version>${spring-android-version}</version>
</dependency>
2.3.3 Ant and Eclipse 译译 : 2.3.3 Ant和和 Eclipse
为了在您的Android应用程序中使用RestTemplate,您必须在 libs/ 文件夹中包含以下适用于Android Jar的 libs/ 。
spring-android-rest-template-{version}.jar
spring-android-core-{version}.jar
如果您使用Ant构建项目,Ant将自动包含位于项目根目录下的 libs/ 文件夹中的所有jar。 但是,在Eclipse中,您必须
手动将jar添加到构建路径。 按照以下步骤将jar添加到Eclipse中的现有Android项目。
1. Refresh the project in Eclipse so the libs/ folder and jars display in the Package Explorer.
2. Right-Click (Command-Click) the first jar.
3. Select the BuildPath submenu.
4. Select Add to Build Path from the context menu.
5. Repeat these steps for each jar.
2.4 RestTemplate Constructors 译译 : 2.4 RestTemplate构 造 函 数构 造 函 数
下面列出了 RestTemplate 构造函数。 默认的构造函数包含一组标准的消息体转换器。 有关默认转换器的列表,请参
阅HTTP Message Conversion部分。
RestTemplate();
RestTemplate(ClientHttpRequestFactory requestFactory);
RestTemplate(List<HttpMessageConverter<?>> messageConverters);
如果您想要指定备用 ClientHttpRequestFactory ,例如 OkHttpClientHttpRequestFactory ,则可以将它传
递给 requestFactory 参数。
OkHttpClientHttpRequestFactory requestFactory = new OkHttpClientHttpRequestFactory();
RestTemplate template = new RestTemplate(ClientHttpRequestFactory requestFactory);
2.5 RestTemplate Methods 译译 : 2.5 RestTemplate方 法方 法
RestTemplate 提供了与六种主要HTTP方法中的每一种相对应的更高级别的方法。 这些方法可以轻松调用多个
RESTful服务并实施REST最佳实践。
RestTemplate 方法的名称遵循命名约定,第一部分指示正在调用哪个HTTP方法,第二部分指示返回的内容。 例如,
方法 getForObject() 将执行GET,将HTTP响应转换为您选择的对象类型并返回该对象。 方
法 postForLocation() 将执行POST,将给定对象转换为HTTP请求,并返回可以找到新创建对象的响应HTTP
Location标头。 在处理HTTP请求的异常情况下,将会抛出 RestClientException 类型的异常。 通过将另一
个 ResponseErrorHandler 实现插入到 RestTemplate. 可以更改此行为
有关 RestTemplate 及其相关方法的更多信息,请参阅 API Javadoc
2.5.1 HTTP DELETE 译译 : 2.5.1 HTTP删 除删 除
public void delete(String url, Object... urlVariables) throws RestClientException;
public void delete(String url, Map<String, ?> urlVariables) throws RestClientException;
public void delete(URI url) throws RestClientException;
2.5.2 HTTP GET 译译 : 2.5.2 HTTP GET
public <T> T getForObject(String url, Class<T> responseType, Object... urlVariables) throws RestClientException;
public <T> T getForObject(String url, Class<T> responseType, Map<String, ?> urlVariables) throws RestClientException;
public <T> T getForObject(URI url, Class<T> responseType) throws RestClientException;
public <T> ResponseEntity<T> getForEntity(String url, Class<T> responseType, Object... urlVariables);
public <T> ResponseEntity<T> getForEntity(String url, Class<T> responseType, Map<String, ?> urlVariables);
public <T> ResponseEntity<T> getForEntity(URI url, Class<T> responseType) throws RestClientException;
2.5.3 HTTP HEAD 译译 : 2.5.3 HTTP HEAD
public HttpHeaders headForHeaders(String url, Object... urlVariables) throws RestClientException;
public HttpHeaders headForHeaders(String url, Map<String, ?> urlVariables) throws RestClientException;
public HttpHeaders headForHeaders(URI url) throws RestClientException;
2.5.4 HTTP OPTIONS 译译 : 2.5.4 HTTP选 项选 项
public Set<HttpMethod> optionsForAllow(String url, Object... urlVariables) throws RestClientException;
public Set<HttpMethod> optionsForAllow(String url, Map<String, ?> urlVariables) throws RestClientException;
public Set<HttpMethod> optionsForAllow(URI url) throws RestClientException;
2.5.5 HTTP POST 译译 : 2.5.5 HTTP POST
public URI postForLocation(String url, Object request, Object... urlVariables) throws RestClientException;
public URI postForLocation(String url, Object request, Map<String, ?> urlVariables);
public URI postForLocation(URI url, Object request) throws RestClientException;
public <T> T postForObject(String url, Object request, Class<T> responseType, Object... uriVariables);
public <T> T postForObject(String url, Object request, Class<T> responseType, Map<String, ?> uriVariables);
public <T> T postForObject(URI url, Object request, Class<T> responseType) throws RestClientException;
public <T> ResponseEntity<T> postForEntity(String url, Object request, Class<T> responseType, Object... uriVariables);
public <T> ResponseEntity<T> postForEntity(String url, Object request, Class<T> responseType, Map<String, ?> uriVariables)
public <T> ResponseEntity<T> postForEntity(URI url, Object request, Class<T> responseType) throws RestClientException;
2.5.6 HTTP PUT 译译 : 2.5.6 HTTP PUT
public void put(String url, Object request, Object... urlVariables) throws RestClientException;
public void put(String url, Object request, Map<String, ?> urlVariables) throws RestClientException;
public void put(String url, Object request, Map<String, ?> urlVariables) throws RestClientException;
2.6 HTTP Message Conversion 译译 : 2.6 HTTP消 息 转换消 息 转 换
传递到和从返回的方法的对象 getForObject() , getForEntity() , postForLocation() ,
postForObject() 和 put() 被转换为HTTP请求,并从HTTP响应 HttpMessageConverter 实例。
HttpMessageConverter 界面如下所示,以便您更好地了解其功能。
剩余25页未读,继续阅读
资源评论
觉得烦死
- 粉丝: 193
- 资源: 30
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Screenshot_20240427_031602.jpg
- 网页PDF_2024年04月26日 23-46-14_QQ浏览器网页保存_QQ浏览器转格式(6).docx
- 直接插入排序,冒泡排序,直接选择排序.zip
- 在排序2的基础上,再次对快排进行优化,其次增加快排非递归,归并排序,归并排序非递归版.zip
- 实现了7种排序算法.三种复杂度排序.三种nlogn复杂度排序(堆排序,归并排序,快速排序)一种线性复杂度的排序.zip
- 冒泡排序 直接选择排序 直接插入排序 随机快速排序 归并排序 堆排序.zip
- 课设-内部排序算法比较 包括冒泡排序、直接插入排序、简单选择排序、快速排序、希尔排序、归并排序和堆排序.zip
- Python排序算法.zip
- C语言实现直接插入排序、希尔排序、选择排序、冒泡排序、堆排序、快速排序、归并排序、计数排序,并带图详解.zip
- 常用工具集参考用于图像等数据处理
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功