@Cacheable Аннотация дает 404 - PullRequest
0 голосов
/ 25 октября 2018

Я должен реализовать Redis для управления кешем.Я следую этому учебнику, но проблема в том, что когда я использую аннотацию @Cacheable в методе моего контроллера, он дает мне код состояния 404.

Мой метод контроллера выглядит следующим образом:

@GetMapping("auth/cache/{id}")
@Cacheable("test")
public ServiceResponse<String> checkingCache(@PathVariable("id") Integer id){
    return new ServiceResponse<>(new String("String with id "+id));
}

Когда я удаляю кешируемую аннотацию, метод работает как положено.

Я установил redis на мою машину и он работает на порте по умолчанию.Конфигурация Redis выглядит следующим образом:

spring.cache.type=redis
spring.redis.host=localhost
spring.redis.port=6379

Что-то мне не хватает?Любая помощь будет высоко ценится, спасибо!

1 Ответ

0 голосов
/ 25 октября 2018

если вы включили кэширование с аннотацией @EnableCaching, описанной в вашем руководстве.

Кроме того, поскольку вам необходимо кэшировать для определенного идентификатора, вы должны предоставить этот ключ для кэширования.Ваш пример должен быть:

@GetMapping("auth/cache/{id}")
@Cacheable(value = "test", key = "#id")
public ServiceResponse<String> checkingCache(@PathVariable("id") Integer id){
    return new ServiceResponse<>(new String("String with id "+id));
}

Если у вас нет @PathVariable, вы можете аннотировать @Cachable без ключа

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...