package com.github.zhangkaitao.web.controller; import com.github.zhangkaitao.web.model.User; import org.springframework.core.MethodParameter; import org.springframework.core.annotation.Order; import org.springframework.http.MediaType; import org.springframework.http.converter.HttpMessageConverter; import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; import org.springframework.http.server.ServerHttpRequest; import org.springframework.http.server.ServerHttpResponse; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.ControllerAdvice; import org.springframework.web.servlet.mvc.method.annotation.ResponseBodyAdvice; /** * User: zhangkaitao * Date: 14-8-4 * Time: ����8:37 * Version: 1.0 */ @Order(1) @ControllerAdvice(basePackages = "com.github") public class MyResponseBodyAdvice implements ResponseBodyAdvice<Object> { @Override public boolean supports(MethodParameter methodParameter, Class<? extends HttpMessageConverter<?>> converterType) { return methodParameter.getMethod().getReturnType().isAssignableFrom(User.class); } @Override public Object beforeBodyWrite( Object obj, MethodParameter methodParameter, MediaType mediaType, Class<? extends HttpMessageConverter<?>> converterType, ServerHttpRequest serverHttpRequest, ServerHttpResponse serverHttpResponse) { User user = ((User)obj); user.setName("---" + user.getName() + "---"); return user; } }