通过实现ResponseBodyAdvice接口统一修改返回值

ResponseBodyAdvice是对请求响应后对结果的处理

@ControllerAdvice
public class TestResponseBodyAdvice implements ResponseBodyAdvice {

    private static Logger logger = LoggerFactory.getLogger(TestResponseBodyAdvice.class);

    @Override
    public boolean supports(MethodParameter methodParameter, Class aClass) {
        return true;
    }

    @Override
    public Object beforeBodyWrite(Object o, MethodParameter methodParameter, MediaType mediaType, Class aClass, ServerHttpRequest serverHttpRequest, ServerHttpResponse serverHttpResponse) {
        logger.info("BEGIN====================================================================================");
        logger.info(JSON.toJSONString(o));

        JSONObject jsonObject = (JSONObject) JSON.toJSON(o);
        
        List<AfaCasUser> users = new ArrayList<>();
        AfaCasUser u = new AfaCasUser();
        u.setUserCode("111");
        users.add(u);
        u = new AfaCasUser();
        u.setUserCode("222");
        users.add(u);
        jsonObject.put("mask", users);

        logger.info(jsonObject.toJSONString());
        logger.info("END====================================================================================");

        return JSON.parse(jsonObject.toJSONString());
    }
}

在这里插入图片描述
就算原来的返回值类型没有mask这个字段,也能够将其加进去并返回给前端。不受返回值类型影响。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值