Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Meiracle
spring-framework
提交
b962239e
S
spring-framework
项目概览
Meiracle
/
spring-framework
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
S
spring-framework
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
b962239e
编写于
5月 03, 2013
作者:
J
Juergen Hoeller
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Polishing
上级
872cf6b0
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
28 addition
and
20 deletion
+28
-20
spring-web/src/main/java/org/springframework/web/client/RestTemplate.java
...ain/java/org/springframework/web/client/RestTemplate.java
+28
-20
未找到文件。
spring-web/src/main/java/org/springframework/web/client/RestTemplate.java
浏览文件 @
b962239e
...
...
@@ -74,17 +74,17 @@ import org.springframework.web.util.UriTemplate;
* above them. They support additional, less frequently used combinations including support for requests using the
* HTTP PATCH method. However, note that the underlying HTTP library must also support the desired combination.
*
* <p>For each of these HTTP methods, there are three corresponding Java methods in the {@code RestTemplate}.
Two
*
variant take a {@code String} URI as first argument (eg. {@link #getForObject(String, Class, Object[])}, {@link
*
#getForObject(String, Class, Map)}), and are capable of substituting any {@linkplain UriTemplate URI templates} in
*
that URL using either a {@code String} variable arguments array, or a {@code Map<String, String>}. The string varargs
* variant expands the given template variables in order, so that
* <p>For each of these HTTP methods, there are three corresponding Java methods in the {@code RestTemplate}.
*
Two variants take a {@code String} URI as first argument (eg. {@link #getForObject(String, Class, Object[])},
*
{@link #getForObject(String, Class, Map)}), and are capable of substituting any {@linkplain UriTemplate URI templates}
*
in that URL using either a {@code String} variable arguments array, or a {@code Map<String, String>}.
*
The string varargs
variant expands the given template variables in order, so that
* <pre>
* String result = restTemplate.getForObject("http://example.com/hotels/{hotel}/bookings/{booking}", String.class,"42",
* String result = restTemplate.getForObject("http://example.com/hotels/{hotel}/bookings/{booking}", String.class,
"42",
* "21");
* </pre>
* will perform a GET on {@code http://example.com/hotels/42/bookings/21}. The map variant expands the template based
on
* variable name, and is therefore more useful when using many variables, or when a single variable is used multiple
* will perform a GET on {@code http://example.com/hotels/42/bookings/21}. The map variant expands the template based
*
on
variable name, and is therefore more useful when using many variables, or when a single variable is used multiple
* times. For example:
* <pre>
* Map<String, String> vars = Collections.singletonMap("hotel", "42");
...
...
@@ -103,12 +103,13 @@ import org.springframework.web.util.UriTemplate;
* http://example.com/hotel%2520list}). If this behavior is undesirable, use the {@code URI}-argument methods, which
* will not perform any URL encoding.
*
* <p>Objects passed to and returned from these methods are converted to and from HTTP messages by {@link
* HttpMessageConverter} instances. Converters for the main mime types are registered by default, but you can also write
* your own converter and register it via the {@link #setMessageConverters messageConverters} bean property.
* <p>Objects passed to and returned from these methods are converted to and from HTTP messages by
* {@link HttpMessageConverter} instances. Converters for the main mime types are registered by default,
* but you can also write your own converter and register it via the {@link #setMessageConverters messageConverters}
* bean property.
*
* <p>This template uses a {@link org.springframework.http.client.SimpleClientHttpRequestFactory} and a
{@link
* DefaultResponseErrorHandler} as default strategies for creating HTTP connections or handling HTTP errors,
* <p>This template uses a {@link org.springframework.http.client.SimpleClientHttpRequestFactory} and a
*
{@link
DefaultResponseErrorHandler} as default strategies for creating HTTP connections or handling HTTP errors,
* respectively. These defaults can be overridden through the {@link #setRequestFactory(ClientHttpRequestFactory)
* requestFactory} and {@link #setErrorHandler(ResponseErrorHandler) errorHandler} bean properties.
*
...
...
@@ -121,6 +122,9 @@ import org.springframework.web.util.UriTemplate;
*/
public
class
RestTemplate
extends
InterceptingHttpAccessor
implements
RestOperations
{
private
static
boolean
romePresent
=
ClassUtils
.
isPresent
(
"com.sun.syndication.feed.WireFeed"
,
RestTemplate
.
class
.
getClassLoader
());
private
static
final
boolean
jaxb2Present
=
ClassUtils
.
isPresent
(
"javax.xml.bind.Binder"
,
RestTemplate
.
class
.
getClassLoader
());
...
...
@@ -132,9 +136,6 @@ public class RestTemplate extends InterceptingHttpAccessor implements RestOperat
ClassUtils
.
isPresent
(
"org.codehaus.jackson.map.ObjectMapper"
,
RestTemplate
.
class
.
getClassLoader
())
&&
ClassUtils
.
isPresent
(
"org.codehaus.jackson.JsonGenerator"
,
RestTemplate
.
class
.
getClassLoader
());
private
static
boolean
romePresent
=
ClassUtils
.
isPresent
(
"com.sun.syndication.feed.WireFeed"
,
RestTemplate
.
class
.
getClassLoader
());
private
final
ResponseExtractor
<
HttpHeaders
>
headersExtractor
=
new
HeadersExtractor
();
...
...
@@ -181,25 +182,32 @@ public class RestTemplate extends InterceptingHttpAccessor implements RestOperat
/**
* Set the message body converters to use.
* <p>
<
These converters are used to convert from and to HTTP requests and responses.
* <p>These converters are used to convert from and to HTTP requests and responses.
*/
public
void
setMessageConverters
(
List
<
HttpMessageConverter
<?>>
messageConverters
)
{
Assert
.
notEmpty
(
messageConverters
,
"'messageConverters' must not be empty"
);
this
.
messageConverters
=
messageConverters
;
}
/** Returns the message body converters. These converters are used to convert from and to HTTP requests and responses. */
/**
* Return the message body converters.
*/
public
List
<
HttpMessageConverter
<?>>
getMessageConverters
()
{
return
this
.
messageConverters
;
}
/** Set the error handler. */
/**
* Set the error handler.
* <p>By default, RestTemplate uses a {@link DefaultResponseErrorHandler}.
*/
public
void
setErrorHandler
(
ResponseErrorHandler
errorHandler
)
{
Assert
.
notNull
(
errorHandler
,
"'errorHandler' must not be null"
);
this
.
errorHandler
=
errorHandler
;
}
/** Return the error handler. By default, this is the {@link DefaultResponseErrorHandler}. */
/**
* Return the error handler.
*/
public
ResponseErrorHandler
getErrorHandler
()
{
return
this
.
errorHandler
;
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录