opengoofy/crane4j

支持指定填充后的回调方法

Closed this issue · 1 comments

对于对象类型来说,由于本身有定义类,所以填充后的回调可以通过实现 OperateAware 接口做到,不过对于基于操作者方法,或者直接基于 @AutoOperate 注解所在的元素声明配置的场景来说,由于没有类去实现回调接口,因此无法实现回调的效果。

在新版本,考虑添加类似 Spring 的 @Bean 注解里面的 initMethod 这种机制,用于指定操作后的回调方法,比如:

public class Service {
    
    @Assemble(container = "user", props = @Mapping(ref = "userInfo"))
    @AutoOperate(
        resolveOperationsFromCurrentElement = true, // 指定从当前方法上解析操作配置
        callback = "callbackMethod" // 指定回调方法
    )
    public List<JSONObject> listUsers(List<Integer> ids) {
        // do something
    }

    private void callbackMethod(List<JSONObject> datas) {
        // do something
    }
}

感觉缺乏必要性,基本上所有基于代码手动填充的方案可以做到类似的效果。