Как я могу пропустить `javax.validation` во время обновления / PATCH - PullRequest
0 голосов
/ 05 мая 2020

У меня есть сущность, как показано ниже

@Entity
@Table(name = "Contact")
@Data
public class Contact{

    Long Id;

    String phoneNumber;

    @javax.validation.constraints.Email(message = "A valid email address is required")
    private String emailAddress;

    String type;
}

Я обновляю тип существующей записи из Contact таблицы

существующей записи

{
    "phoneNumber":"1234567890";
    "emailAddress":"testEamail"
    "type":"1"
}

Я меняю тип на 2 с запросом PATCH. Но я получаю сообщение об ошибке «Требуется действующий адрес электронной почты», поскольку существующий адрес электронной почты имеет допустимый формат. Я не могу изменить существующий emailAddress.

Есть идеи, как пропустить javax.validation во время обновления / PATCH

Я получаю сообщение об ошибке, когда мы сохраняем существующий контакт в классе обслуживания

код класса обслуживания

Contact contact = contactRepository.getById(id);
contact.setType(2);
contactRepository.save(contact);

1 Ответ

1 голос
/ 05 мая 2020

Аннотации проверки имеют параметр group, который позволяет назначать их группам проверки.

Bean Validation и JPA прекрасно интегрируются:

Спецификация JPA определяет набор параметров конфигурации для настройки того, какие группы ValidationGroups должны проверяться перед выполнением операций вставки, обновления и удаления.

favax.persistence.validation.group.pre-persist
javax.persistence.validation.group.pre-update
javax.persistence.validation.group.pre-remove

См .:

...