草庐IT

ResponseBodyAdvice

全部标签

使用ResponseBodyAdvice返回值为String出现cannot be cast to java.lang.String异常

使用ResponseBodyAdvice返回值为String出现cannotbecasttojava.lang.String异常背景由于项目中为了全局返回统一的JSON格式,使用ResponseBodyAdvice进行拦截,拦截的时候会将返回的信息统一一个对象返回到前端。但是有的同事将一个String的响应对象返回,结果报错com.example.demoweb.config.ApiResponsecannotbecasttojava.lang.StringResponseBodyAdvice拦截器实现ServletResponseBodyAdvicepackagecom.example.de

springboot项目通过ResponseBodyAdvice增加响应头和修改响应内容

对于需要统一对所有的http响应增加响应头(比如增加响应签名,响应时间,响应序号等)以及响应数据进行统一处理(比如数据包装,数据转换等)的场景,可以通过ResponseBodyAdvice进行实现。ResponseBodyAdvice就是spring框架中预留的钩子,它作用在Controller方法执行完成之后,http响应体写回客户端之前,这个时候我们就能方便的织入一些自己的业务逻辑处理了。1.定义ResponseBodyAdvice实现类importorg.slf4j.Logger;importorg.slf4j.LoggerFactory;importorg.springframewor