为 put 和 patch Spring 数据 rest 分离验证器

Separating validators for put and patch Spring data rest

使用 Spring 数据 Rest,putpatch 请求都将在 beforeSave 中注册,因此它们将使用相同的验证器。

@Override
protected void configureValidatingRepositoryEventListener(ValidatingRepositoryEventListener v) {
  v.addValidator("beforeSave", new BeforeSaveValidator());
}

有没有办法为 putpatch 请求注册不同的验证器?

不可能。编写自定义控制器来处理 PUT 和 PATCH。

记住Spring Data REST 不是处理所有场景的银弹。当它不能满足您的要求时,只需编写自定义控制器作为补充。