REST API в Java — как поддержать PATCH с помощью Hibernate Validator ⇐ JAVA

Программисты JAVA общаются здесь
Anonymous
REST API в Java — как поддержать PATCH с помощью Hibernate Validator

Сообщение Anonymous »

При написании REST-API на Java PATCH-Endpoint позволяет манипулировать подмножеством полей для данного ресурса.
Для следующего ресурса:

Код: Выделить всё

{
productId: 7,
name: "container",
contactPerson: "peter",
price: 12
}
С помощью PATCH я смогу установить для поля «contactPerson» значение NULL, не затрагивая при этом другие поля, например:

Код: Выделить всё

{
productId: 7,
contactPerson: null
}
Как я могу реализовать это в экосистеме Java, учитывая, что наиболее важные библиотеки здесь должны иметь полную поддержку:
  • Джексон (десериализация JSON)
  • Валидатор Hibernate (проверка компонентов)
  • Микропрофиль OpenAPI (определение API)
Среди прочего я опробовал Java-Optional, и хотя поначалу казалось, что он работает, это неправильный инструмент для этого, поскольку необязательный параметр не должен содержать NULL- Value, но также должна быть возможность явно установить значение NULL в PATCH (вместо его пропуска).
При использовании таких аннотаций, как @Size(255), @Email и т. д. существует требование, чтобы...
  • ...эти проверки должны быть подтверждены валидатором Hibernate, когда поле задано/установлено в PATCH
    ...эти проверки не должны проверяться, если поле опущено (отсутствует) в PATCH.
Есть REST-PATCH, входящий в состав основных библиотек экосистемы Java, и если да, то каков рекомендуемый способ его поддержки?

Подробнее здесь: https://stackoverflow.com/questions/790 ... -validator

Вернуться в «JAVA»