关于dubbo校验请求参数校验问题
在 api 层 调用 provider层时, 是否需要对 facade 的参数做校验, 是否能通过类似 spring mvc 通过 hibernate-validator validation-api 这样的工具来拦截参数校验?
比如:
@NotBlank(groups = {AdminLogin.class}, message = "账号不能为空")
private String account;
@NotBlank(groups = {AdminLogin.class}, message = "密码不能为空")
private String password;
通过mvc的拦截器对参数进行校验, 还是说入口必须通过api层的话, 这样的参数校验在api层做严格就行,对于调用provider层时不需要再做参数校验了?
谢谢老师
4
收起
正在回答
1回答
我个人一般不会这么使用,因为这样相当于指定了这个dto每次请求一定要携带什么样的参数内容。随着代码量膨胀后,容易出现不够灵活的问题(例如多个method使用统一对象里面的不同字段)。
不过如果你的业务场景下希望这么使用的话,需要注意该注解抛出的异常是可以在自定义的peovider filier里面包装成特定的业务响应dto对象。
不过如果你的业务场景下希望这么使用的话,需要注意该注解抛出的异常是可以在自定义的peovider filier里面包装成特定的业务响应dto对象。
Java+大数据+AI架构师实战营
- 参与学习 55 人
专为1–5年开发者,打造极具竞争力的人才培养方案,快速突破技术/职业瓶颈 “三高”架构稳态托底,海量数据秒级吞吐,实时计算,AI智能化融合 大型 “社交+电商” 平台从0到1全程贯穿,高复杂架构落地
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星