dubbo源码 学习笔记(五)
程序员文章站
2022-06-01 17:45:20
...
dubbo 接口 Validator
字dubbo的过滤器中 自带了一个javax.validation的验证器
服务端配置
service.setValidation("jvalidation");
xml的配置方式
<!-- 声明需要暴露的服务接口 -->
<dubbo:service interface="com.alibaba.dubbo.demo.DemoService" ref="demoService" va="jvalidation"/>
引入jar包
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>1.0.0.GA</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>4.2.0.Final</version>
</dependency>
接口定义
public interface HelloService {
int say(User hello);
}
实体类定义public class User implements Serializable {
private static final long serialVersionUID = 1609415403100275799L;
@NotNull(message ="不能为空")
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
private String name;
}
HelloService helloService = reference.get();
User user = new User();
// user.setName("w");
System.out.println(helloService.say(user));
运行 name 为空时 会报异常
com.alibaba.dubbo.rpc.RpcException: Failed to validate service: com.wy.demo.dubbo.service.HelloService, method: say, cause: [ConstraintViolationImpl{interpolatedMessage='不能为空', propertyPath=name, rootBeanClass=class com.wy.demo.dubbo.module.User, messageTemplate='不能为空'}]
上一篇: 第三章 多表操作2(主外键约束)
下一篇: TensorFlow数据输入的方法示例
推荐阅读
-
dubbo源码解析(五)rpc模块服务发布
-
韩顺平_PHP软件工程师玩转算法公开课(第一季)01_算法重要性_五子棋算法_汉诺塔_回溯算法_学习笔记_源代码图解_PPT文档整理
-
ASP.NET学习笔记(五)-全球化部署,网站发布方法,AJAX使用,水晶报表使用,DropDownList,CheckBox全选
-
yii2源码学习笔记(十七),yii2源码学习笔记
-
openCV学习笔记(五):滤波的实现
-
yii2源码学习笔记(九),yii2源码学习笔记
-
韩顺平_PHP软件工程师玩转算法公开课(第一季)01_算法重要性_五子棋算法_汉诺塔_回溯算法_学习笔记_源代码图解_PPT文档整理
-
Dubbo源码学习09
-
ES6学习笔记(五)扩展运算符和rest参数
-
Mysql源码学习笔记 偷窥线程