spring拦截器中不能更新设置cookie,完成自动续期cookie

一、原因

controller层使用了restful开发风格,使用了@RestController 或者 @RequsetBody注解。该注解会在controller层方法执行完后,对response进行编写和最终提交,导致在posthandle和afterCompletion拦截中无法操作修改response中cookie。

二、解决

实现ResponseBodyAdvice接口
在这里插入图片描述
重写beforeBodyWrite方法,在controller层中方法执行完之后,response提交之前执行,在这里完成cookie的自动续期,然后添加到response中,最后返回body即可。
spring拦截器中不能更新设置cookie,完成自动续期cookie_第1张图片
spring拦截器中不能更新设置cookie,完成自动续期cookie_第2张图片

你可能感兴趣的:(spring,java,restful)