我有一个使用@Cacheable缓存方法结果的服务

getRestaurants(Boolean closed)

@Override
@Cacheable(value = "defaultCache", key = "#root.methodName.concat('-').concat(#closed")
public List<Restaurant> getRestaurants(Boolean closed) {


可以使用closed = null调用此方法,以返回所有餐厅。这导致空指针异常。

我们如何在键中添加条件以允许空值?

最佳答案

您不能在缓存的方法中允许使用空值,而使第二个方法getAllRestaurants。两者都可以在内部仍然调度到您的现有代码。

07-23 16:42