我有一个使用@Cacheable
缓存方法结果的服务
getRestaurants(Boolean closed)
@Override
@Cacheable(value = "defaultCache", key = "#root.methodName.concat('-').concat(#closed")
public List<Restaurant> getRestaurants(Boolean closed) {
可以使用closed = null调用此方法,以返回所有餐厅。这导致空指针异常。
我们如何在键中添加条件以允许空值?
最佳答案
您不能在缓存的方法中允许使用空值,而使第二个方法getAllRestaurants
。两者都可以在内部仍然调度到您的现有代码。