daj*_*jek 3 java migration validation wildfly
我收到以下异常:
javax.validation.ConstraintDeclarationException:HV000151:覆盖另一个方法的方法不得改变参数约束配置
在 Wildfly 8.1 服务器上部署我的应用程序时。该项目在以前的 JBoss 7.1 应用服务器上部署并运行良好。我需要更改代码还是配置有问题?
小智 7
如果向覆盖或实现超类型方法的方法添加参数约束,则会引发 javax.validation.ConstraintDeclarationException。此行为由 Bean 验证规范(请参阅http://beanvalidation.org/1.1/spec/#constraintdeclarationvalidationprocess-methodlevelconstraints-inheritance)强制要求,以遵守 Liskov 替换原则:
例如下面的代码在子类上非法声明参数约束,它将抛出上述异常:
public class OrderService {
void placeOrder(String customerCode, Item item, int quantity) { [...] }
}
public class SimpleOrderService extends OrderService {
@Override
public void placeOrder(
@NotNull @Size(min=3, max=20) String customerCode,
@NotNull Item item,
@Min(1) int quantity) {
[...]
}
Run Code Online (Sandbox Code Playgroud)
}
| 归档时间: |
|
| 查看次数: |
5059 次 |
| 最近记录: |