在上一篇文章《构建 RESTful Service 》中我们已经介绍了构建 RESTful 服务端,现在我们来构建 RESTful 的客户端。每种框架都提供了各种访问服务端的实现。如 Apache Httpclient,JAX-RS2 client,Feign Client,Spring RestTemplate 。其实都没有什么特别,就是普通 HTTP 访问协议进一步的封装。本文主要介绍两种方式,分别是 Spring RestTemplate 和 Feign Client,如果喜欢使用 Spring 的同学可能会偏向使用 RestTemplate,它提供了多种便捷访问远程Http服务的方法,能够大大提高客户端的编写效率,所以很多客户端比如 Android 或者第三方服务商都是使用 RestTemplate 请求 RESTful 服务。Feign Client 可以把请求的服务写成接口的形式,请求回来的是一个本地接口的一个实现,极大地方便了使用和无缝调用。
本次构建的客户端没有涉及异步访问 REST 服务,我将会另写一片文章专门介绍异步访问 REST 服务,因为这项技术相对来说难一些,内容比较多,也更为重要。
创建 REST-Client 服务端项目
使用 maven 创建 maven-archetype-quickstart 为原型的项目 REST-Client 。
pom.xml
|
|
model 类
|
|
RestTemplate
修改 App 类下的 main 方法:
Feign Client
创建本地接口 FeignService :
这里需要注意的地方是:如果getOwner()里添加多一个id参数,则需要在@RequestLine下一行添加@Body{“id={id}&name={name}”}
修改 App 类下的 main 方法:
运行
运行 App 类下的 main 方法:
成功获取服务端的信息并打印出来!
本次项目 REST-Client 的项目代码已经放在 github 上,有需要的同学可以下载查看。地址: https://github.com/aidansu/REST-Client
完!