改變返回值
阿新 • • 發佈:2018-11-19
import org.slf4j.Logger;
import org.springframework.http.HttpOutputMessage;
import org.springframework.http.MediaType;
import org.springframework.http.converter.HttpMessageNotWritableException;
import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
import org.springframework.util.StreamUtils;
import java.io.IOException;
import java.lang.reflect.Type;
import java.nio.charset.Charset;
import static org.slf4j.LoggerFactory.getLogger;
/**
* Created by userwyh on 2017/3/4.
*/
public class MappingJackson2HttpMessageConverterFactory {
private static final Logger logger = getLogger(MappingJackson2HttpMessageConverterFactory.class);
public MappingJackson2HttpMessageConverter init() {
return new MappingJackson2HttpMessageConverter(){
/**
* 重寫Jackson訊息轉換器的writeInternal方法
* SpringMVC選定了具體的訊息轉換型別後,會呼叫具體型別的write方法,將Java物件轉換後寫入返回內容
*/
@Override
protected void writeInternal(Object object, Type type, HttpOutputMessage outputMessage) throws IOException, HttpMessageNotWritableException {
logger.info("返回值不是String型別,還是使用之前選擇的轉換器進行訊息轉換");
super.writeInternal(object, type, outputMessage);
}
};
}
}
import org.springframework.http.HttpOutputMessage;
import org.springframework.http.MediaType;
import org.springframework.http.converter.HttpMessageNotWritableException;
import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
import org.springframework.util.StreamUtils;
import java.io.IOException;
import java.lang.reflect.Type;
import java.nio.charset.Charset;
import static org.slf4j.LoggerFactory.getLogger;
/**
* Created by userwyh on 2017/3/4.
*/
public class MappingJackson2HttpMessageConverterFactory {
private static final Logger logger = getLogger(MappingJackson2HttpMessageConverterFactory.class);
public MappingJackson2HttpMessageConverter init() {
return new MappingJackson2HttpMessageConverter(){
/**
* 重寫Jackson訊息轉換器的writeInternal方法
* SpringMVC選定了具體的訊息轉換型別後,會呼叫具體型別的write方法,將Java物件轉換後寫入返回內容
*/
@Override
protected void writeInternal(Object object, Type type, HttpOutputMessage outputMessage) throws IOException, HttpMessageNotWritableException {
logger.info("返回值不是String型別,還是使用之前選擇的轉換器進行訊息轉換");
super.writeInternal(object, type, outputMessage);
}
};
}
}