网站大量收购独家精品文档,联系QQ:2885784924

Spring30參考手册之集成WebService.doc

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Spring30參考手册之集成WebService

Spring 3.0参考手册之集成Web Service 分类: Java2009-10-30 10:501886人阅读评论(0)收藏举报Part VI 19.9 在客户端访问RESTFUL服务 RestTemplate是客户端访问RESTFUL服务的核心类。它在概念上和SPRING的其它模版类一样,如JdbcTemplate和JmsTemplate一起其它SPRING项目中的模版类。RestTemplate的行为可以被定制,定制是通过提供的回调方法和配置HttpMessageConverter,HttpMessageConverter用来组织对象到HTTP请求体中并且拆开任何响应回到一个对象中。和通常的使用XML作为消息格式一样,SPRING提供了一个MarshallingHttpMessageConverter它使用org.springframework.oxm包中的Object-to-XML结构。这个包中提供了很多XML到对象映射技术的选择。 这节描述怎样使用RestTemplate和与它相关的HttpMessageConverters类。 RestTemplate 在Java中调用RESTFUL服务通常使用一个辅助类如Jakarta Commons中的HttpClient。对于如下所示,通用REST操作这个方法层次较低。 String uri = /hotels/1/bookings; PostMethod post = new PostMethod(uri); String request = // create booking request content post.setRequestEntity(new StringRequestEntity(request)); httpClient.executeMethod(post); if (HttpStatus.SC_CREATED == post.getStatusCode()) { Header location = post.getRequestHeader(Location); if (location != null) { System.out.println(Created new booking at : + location.getValue()); } } RestTemplate提供比较高层的方法,这些方法对应于HTTP的六个主要方法,它使得调用许多RESTFUL服务只用简单的一行并增强REST的最佳实践。 表19.1 RestTemplate方法一览 HTTP方法 RestTemplate方法 DELETE delete(String url, String…urlVariables) GET getForObject(String url, ClassT responseType,String…urlVariables) HEAD headForHeaders(String url, String…urlVariables) OPTIONS optionsForAllow(String url, String…urlVariables) POST postForLocation(String url, Object request, String…urlVariables) postForObject(String url, Object request, ClassT responseType, String…uriVariables) PUT put(String url, Object request, String…urlVariables) RestTemplate方法的名字遵循一个名字转换方式,第一列显示如何调用HTTP方法,第二列显示返回什么。例如,getForObject方法将执行一个GET方法,转换HTTP响应到一个你所选类型的对象并且返回该对象。postForLocation方法将会做一个POST操作,转换给定的对象到一个HTTP请求并且返回响应新建对象可以找到的HTTP位置头部。为了防止处理HTTP请求时产生异常,一个RestClientException类型的异常将会被抛出,这一行为可以通过插入另一个实现了RestTemplate的ResponseErrorHandler来改变。 传递到这些方法的和从这些方法返回的对象分别通过HttpMessageConverter实例被转换到HTTP消息和来自HTTP消息。默认注册了对主要的MIME类型的转换,但是你同样可以写自己的转换并且通过messageConverters的BEAN属性注册它。默认的注册到模版上的转换实例是ByteArray

文档评论(0)

bmdj + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档