Spring数据休息和业务规则验证

Jan*_*yka 6 spring business-rules spring-data-rest

我想在处理spring数据休息时寻求应用业务规则的最佳实践.

让我们考虑以下场景:

  • 我有一个CustomerOrder@OneToMany关系.
  • 我有一个业务规则,说Customer需要验证标志设置为能够下订单

所以,我需要确保每当有人POSTs到/ordersCustomer使呼叫验证.

我正在考虑使用beforeSave Validators自动装配其他服务/存储库Validator并检查需要检查的内容.

是否有更好的方法来实现同样的目标?

Kon*_*tin 5

有几种方法可以解决这个问题。据我所知:

  1. 使用 spring 安全注释,如@PreAuthorize. 然而,这些注释的预期用途是出于安全目的,您提到的是业务规则。我会将这些用于用户授权规则Spring 数据休息安全章节

  2. 正如您自己提到的那样使用验证器。Spring 数据休息验证器

  3. 使用弹簧数据休息事件弹簧数据休息事件。您可以创建全局事件处理程序,但在这里您需要确定实体类型。我会使用带注释的事件处理程序来执行业务逻辑Spring 数据休息带注释的事件处理程序