spring + dubbo rest 实现后端服务对接及一种rest服务具备随业务扩展能力实践
一、实践目标
1.使后端代码对接RESTFul风格请求
2.使后端代码随业务可扩展
二、工作框架
三、遇到的问题
1.dubbo rest处理post请求,取不到请求参数 报错415 Unsupported Media Type
解决:缺少JAR包-->
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jackson-provider</artifactId>
<version>2.3.5.Final</version>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jaxb-provider</artifactId>
<version>3.0.16.Final</version>
</dependency>
2.注解@Slf4j找不到log
解决:eclipse安装lombok插件,点击安装时选择自己的eclipse启动文件
3.不打印日志:
解决方法:①将连接zk的jar包放到最后(pom中引用jar包顺序对项目是有影响的!);②去除zkclient的jar包中日志配置:
<dependency>
<groupId>com.101tec</groupId>
<artifactId>zkclient</artifactId>
<version>0.9</version>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</exclusion>
</exclusions>
</dependency>
4.No such extension com.alibaba.dubbo.container.Container by name -- dubbo 版本低
5.System.setProperty("dubbo.spring.config", "classpath*:META-INF/dubbox/*.xml,classpath*:META-INF/spring/*.xml");
6.Failed to read candidate component class错误分析 spring版本低jdk版本高
四、dubbo rest工作框架实践源码与测试用例链接
百度网盘链接:https://pan.baidu.com/s/1OGL0QHyxs0qe0n2IuoP1_w
提取码:slne
五、框架实现过程中的思考与待补充
1.实践中还需要提供请求过滤器
2.自定义返回格式和自动异常实现