如果方法参数是接口,如何制作缓存键
How to make cache key if method parameter is Interface
我有一个接受 org.springframework.data.domain.Pageable
作为参数的方法。
当用户请求 page = 0 和 size = 20 等等时,我想将这些传递的值设置为 cache key
。
我做的是
@Cacheable(key = "#pageable.number")
public Person getPersons(Pageable pageable)
它给了 axception :
EL1008E: Property or field 'number' cannot be found on object of type
'org.springframework.data.domain.PageRequest' - maybe not public?
如何制作缓存键呢?
属性 被称为 pageNumber
而不是 number
@Cacheable(key = "#pageable.pageNumber")
public Person getPersons(Pageable pageable)
虽然可以质疑以这种方式使用缓存的一般意义。但这可能超出了这个问题的范围。
我有一个接受 org.springframework.data.domain.Pageable
作为参数的方法。
当用户请求 page = 0 和 size = 20 等等时,我想将这些传递的值设置为 cache key
。
我做的是
@Cacheable(key = "#pageable.number")
public Person getPersons(Pageable pageable)
它给了 axception :
EL1008E: Property or field 'number' cannot be found on object of type 'org.springframework.data.domain.PageRequest' - maybe not public?
如何制作缓存键呢?
属性 被称为 pageNumber
而不是 number
@Cacheable(key = "#pageable.pageNumber")
public Person getPersons(Pageable pageable)
虽然可以质疑以这种方式使用缓存的一般意义。但这可能超出了这个问题的范围。