接口 MethodParser
public interface MethodParser
action 方法解析:解析方法参数、解析方法返回值
- 作者:
- 渔民小镇
- 日期:
- 2022-06-26
-
方法概要
修饰符和类型方法说明Class
<?> getActualClazz
(ActionCommand.MethodParamResultInfo methodParamResultInfo) 得到真实类型default boolean
是否自定义的方法解析器parseParam
(byte[] data, ActionCommand.ParamInfo paramInfo) 解析 action 方法参数parseResult
(ActionCommand.ActionMethodReturnInfo actionMethodReturnInfo, Object methodResult) 解析 action 结果 (方法返回值)
-
方法详细资料
-
getActualClazz
得到真实类型常规的 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
解析 action 方法参数- 参数:
data
- dataparamInfo
- paramInfo- 返回:
- 解析后的数据
-
parseResult
Object parseResult(ActionCommand.ActionMethodReturnInfo actionMethodReturnInfo, Object methodResult) 解析 action 结果 (方法返回值)- 参数:
actionMethodReturnInfo
- actionMethodReturnInfomethodResult
- 当前的返回值- 返回:
- 处理后的返回值
-
isCustomMethodParser
default boolean isCustomMethodParser()是否自定义的方法解析器- 返回:
- true 是自定义的
-