接口 MethodParser


public interface MethodParser
action 方法解析:解析方法参数、解析方法返回值
作者:
渔民小镇
日期:
2022-06-26
  • 方法详细资料

    • getActualClazz

      Class<?> getActualClazz(ActionCommand.MethodParamResultInfo methodParamResultInfo)
      得到真实类型
           常规的 java class 是指本身,如:
           开发者自定义了一个 StudentPb,在 action 方法上参数声明为 xxx(StudentPb studentPb)
           那么这个值就是 StudentPb
       
           但由于框架现在内置了一些包装类型,如:
           int --> IntValue
           List<Integer> --> IntValueList
      
           long --> LongValue
           List<Long> --> LongValueList
      
           所以当开发者在 action 方法上参数声明为基础类型时;
           如声明为 int 那么这个值将会是 IntValue
           如声明为 long 那么这个值将会是 LongValue
      
           如声明为 List<Integer> 那么这个值将会是 IntValueList
           包装类型相关的以此类推;
      
           这么做的目的是为了生成文档时,不与前端产生争议,
           如果提供给前端的文档显示 int ,或许前端同学会懵B,
           当然如果提前与前端同学沟通好这些约定,也不是那么麻烦。
           但实际上如果前端是新来接手项目的,碰见这种情况也会小懵,
           所以为了避免这些小尬,框架在生成文档时,用基础类型的内置包装类型来表示。
       
      参数:
      methodParamResultInfo - methodParamResultInfo
      返回:
      真实类型
    • parseParam

      Object parseParam(byte[] data, ActionCommand.ParamInfo paramInfo)
      解析 action 方法参数
      参数:
      data - data
      paramInfo - paramInfo
      返回:
      解析后的数据
    • parseResult

      Object parseResult(ActionCommand.ActionMethodReturnInfo actionMethodReturnInfo, Object methodResult)
      解析 action 结果 (方法返回值)
      参数:
      actionMethodReturnInfo - actionMethodReturnInfo
      methodResult - 当前的返回值
      返回:
      处理后的返回值
    • isCustomMethodParser

      default boolean isCustomMethodParser()
      是否自定义的方法解析器
      返回:
      true 是自定义的