Springbootに基づくControllerによるコールバックデータのグローバル暗号化の実現

1584 ワード

まず、解析器に暗号化しようとするツールクラスを構成する必要があります.
 @Configuration
class ----

 @Resource
    MessageConverter messageConverter;


    @Override
    public void configureMessageConverters(List> converters) {
        converters.add(messageConverter);
    }

次に、メッセージ変換器の書き換えクラスを実現します.

/**
 *    ,         
 * @package: com.i2f.training.common.converter
 * @author: 
 * @date: 2020/3/6 12:39
 */
@Component
public class MessageConverter extends MappingJackson2HttpMessageConverter {

    @Override
    /** Spring   JSON         Object  JSON       Response ,   @ResponseBody     */
    protected void writeInternal(Object object, Type type, HttpOutputMessage outputMessage) throws IOException, HttpMessageNotWritableException {
        ObjectMapper objectMapper = new ObjectMapper();
        ResultMessage resultMessage = null;
        //todo  spring     ,              ResultMessage
        if (TypeUtils.isAssignable(type, ResultMessage.class)) {
            resultMessage = (ResultMessage) object;
            String s = objectMapper.writer().writeValueAsString(resultMessage.getData());
            resultMessage.setData(CryptoUtils.encrypt(s));
        } else {
            object = new ResultMessage<>("666666","          ",null);
            logger.error("   ,              ResultMessage  !!!");
        }
        super.writeInternal(object, type, outputMessage);
    }
}

次の文章では、具体的な基礎原理と実現の一般的な使い方を説明します.
---------------------end0-----------------------