Как ссылаться на Enum весной @Cacheable AnnotationJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как ссылаться на Enum весной @Cacheable Annotation

Сообщение Anonymous »

У меня есть проект Spring Boot, в котором я хочу реализовать кэширование результатов, возвращаемых мне удаленными конечными точками, к которым я обращаюсь. Однако я хочу кэшировать не все, а только при определенных условиях.
В частности, я обращаюсь к конечной точке, которая возвращает мне объект результата, содержащий перечисление с подробным описанием того, был ли запрос успешный или нет. Я хочу кэшировать этот результат, но только в том случае, если результат был успешным.
В обычном коде я бы просто проверил это с помощью такого условия:

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

if(result.status == MyStatus.OK)
Однако это не работает в аннотации @Cacheable. Я знаю, что это нужно сделать в параметре «если», но когда я пытаюсь ввести туда эквивалент приведенного выше условия, например, вот так...

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

@Cacheable(value = 'myCacheName',
key = "#myKey",
unless = "#result.status() != MyStatus.OK")
...Я получаю только сообщение об ошибке «Невозможно разрешить класс MyStatus».
Это вообще возможно? Если да, то как мне это написать?

Подробнее здесь: https://stackoverflow.com/questions/788 ... annotation
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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