我有2个控制器,WebControllerA
和RestControllerB
。我想为RestControllerB
的所有方法禁用缓存,并且仅为此控制器禁用缓存。
我试过这个:
@RestController
public class RestControllerB {
@Autowired
private RequestMappingHandlerAdapter requestMappingHandlerAdapter;
@PostConstruct
public void init() {
requestMappingHandlerAdapter.setCacheControl(CacheControl.noStore());
}
...
}
这是有效的,但它显然会影响WebControllerA
和RestControllerB
,可能是因为RequestMappingHandlerAdapter
与它们共享。
我正在为这个问题寻找最简单的解决方案,只需要最少的额外类,而且根本不需要使用RequestMappingHandlerAdapter
。但是,我也在寻找类级解决方案,在方法级别设置缓存控制不是一种选择。
我使用没有xml的spring-boot。
编辑:不幸的是,两个控制器都使用相同的URL路径库,因此无法仅按路径过滤响应。