Dubbox新特性--在Dubbo中开发REST风格的远程调用--快速入门
来源:互联网 发布:照片扫描软件手机版 编辑:程序博客网 时间:2024/05/22 03:19
快速入门
在dubbo中开发一个REST风格的服务会比较简单,下面以一个注册用户的简单服务为例说明。
这个服务要实现的功能是提供如下URL(注:这个URL不是完全符合REST的风格,但是更简单实用):
http://localhost:8080/users/register
而任何客户端都可以将包含用户信息的JSON字符串POST到以上URL来完成用户注册。
首先,开发服务的接口:
public class UserService { void registerUser(User user);}
然后,开发服务的实现:
@Path("users")public class UserServiceImpl implements UserService { @POST @Path("register") @Consumes({MediaType.APPLICATION_JSON}) public void registerUser(User user) { // save the user... }}
上面的服务实现代码非常简单,但是由于REST服务是要被发布到特定HTTP URL,供任意语言客户端甚至浏览器来访问,所以这里要额外添加了几个JAX-RS的标准annotation来做相关的配置:
@Path("users"):指定访问UserService的URL相对路径是/users,即http://localhost:8080/users
@Path("register"):指定访问registerUser()方法的URL相对路径是/register,再结合上一个@Path为UserService指定的路径,则调用UserService.register()的完整路径为http://localhost:8080/users/register
@POST:指定访问registerUser()用HTTP POST方法
@Consumes({MediaType.APPLICATION_JSON}):指定registerUser()接收JSON格式的数据。REST框架会自动将JSON数据反序列化为User对象
最后,在spring配置文件中添加此服务,即完成所有服务开发工作:
<!-- 用rest协议在8080端口暴露服务 --><dubbo:protocol name="rest" port="8080"/><!-- 声明需要暴露的服务接口 --><dubbo:service interface="xxx.UserService" ref="userService"/><!-- 和本地bean一样实现服务 --><bean id="userService" class="xxx.UserServiceImpl" />
0 0
- Dubbox新特性--在Dubbo中开发REST风格的远程调用--快速入门
- 在dubbo中开发REST风格的远程调用
- 在Dubbox中开发REST风格的远程调用(RESTful Remoting)
- 在Dubbo中开发REST风格的远程调用(RESTful Remoting)
- 在Dubbo中开发REST风格的远程调用(RESTful Remoting)
- 在Dubbo中开发REST风格的远程调用(RESTful Remoting)
- 在Dubbo中开发REST风格的远程调用(RESTful Remoting)
- 在Dubbo中开发REST风格的远程调用(RESTful Remoting)
- 在Dubbo中开发REST风格的远程调用(RESTful Remoting)
- 在Dubbo中开发REST风格的远程调用(RESTful Remoting)
- 在Dubbo中开发REST风格的远程调用(RESTful Remoting)
- 在Dubbo中开发REST风格的远程调用(RESTful Remoting)
- 在Dubbo中开发REST风格的远程调用(RESTful Remoting)
- 在Dubbo中开发REST风格的远程调用(RESTful Remoting)
- 在Dubbo中开发REST风格的远程调用(RESTful Remoting)
- 在Dubbo中开发REST风格的远程调用(RESTful Remoting)
- 架构师之路-在Dubbo中开发REST风格的远程调用
- Dubbox中REST风格的远程调用(Restful Remoting)介绍
- java连接mysql问题小结
- 不要4
- http协议学习系列
- java基础学习IO流之File类 十一 -1
- 网络流24题19. 负载平衡问题
- Dubbox新特性--在Dubbo中开发REST风格的远程调用--快速入门
- 旋涡JAVA笔记--集合的前世今生2 —— 陌上人如玉
- (12) spring boot集成MyBatis
- 4.最近距离
- Java NIO (一)--简介
- 在Eclipse中安装SVN客户端插件的两种方式
- ffmpeg(一) android ndk编译ffmpeg
- JSTL (JSP Standard Tag Library)
- leetcode:用两个栈实现一个队列 Implement Queue using Stacks