1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- package com.emato.cus.supervise.config.httpMsgCvt;
- import com.fasterxml.jackson.databind.ObjectMapper;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- import org.springframework.context.annotation.Bean;
- import org.springframework.context.annotation.Configuration;
- import org.springframework.http.HttpOutputMessage;
- import org.springframework.http.converter.HttpMessageNotWritableException;
- import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
- import java.io.IOException;
- import java.lang.reflect.Type;
- /**
- * 自定义 HttpMessageConverter 消息转换器
- *
- * @author Scott Chen
- * @date 2017/4/19
- */
- @Configuration
- public class CustomHttpMessageConverterConfig {
- @Bean
- public MappingJackson2HttpMessageConverter customMessageConverter(ObjectMapper objectMapper) {
- MappingJackson2HttpMessageConverter bean =
- new MappingJackson2HttpMessageConverter(objectMapper) {
- private final Logger logger = LoggerFactory.getLogger(MappingJackson2HttpMessageConverter.class);
- @Override
- protected void writeInternal(Object object, Type type, HttpOutputMessage outputMessage)
- throws IOException, HttpMessageNotWritableException {
- /**
- * 外部消息如果不是 ResponseMessage
- * 重新包装成 ResponseMessage
- */
- /*ResponseMessage responseMessage;
- if (object == null) {
- responseMessage = ResponseMessage.builder().build();
- } else if (object instanceof ResponseMessage) {
- responseMessage = (ResponseMessage) object;
- } else if (object instanceof String) {
- responseMessage = ResponseMessage.builder()
- .setMsg((String) object)
- .build();
- } else {
- ResponseMessageData respData = ResponseMessageData.builder(object, Object.class).build();
- responseMessage = ResponseMessage.builder()
- .setData(respData)
- .build();
- }*/
- super.writeInternal(object, Object.class, outputMessage);
- String result = objectMapper.writeValueAsString(object);
- logger.info("返回数据:{}", result);
- }
- };
- return bean;
- }
- }
|