网站开发到发布,掌握cms建设网站实训报告,服务器更改wordpress,企业查询天眼一、存在的问题
1.重载方法在当前的实现中还不支持#xff0c;调用了会报错。 2.类型转换也还存在问题。
假设定义的接口如下#xff0c;参数是float类型。 在Provider端接受到的是一个Double类型#xff0c;这是因为web应用接收的请求后处理的类型。 在反射调用的时候就会…一、存在的问题
1.重载方法在当前的实现中还不支持调用了会报错。 2.类型转换也还存在问题。
假设定义的接口如下参数是float类型。 在Provider端接受到的是一个Double类型这是因为web应用接收的请求后处理的类型。 在反射调用的时候就会报错。 二、解决方法重载问题
在Provider端创建的时候使用完整的方法签名替换方法全限定名。 方法签名方法名称参数个数参数类型 在Consumer端封装请求参数时传入方法签名即可。 举个例子 三、解决参数类型转换
在Provider端进行反射之前处理请求参数。 processArgs()方法负责处理请求每个请求参数传入的参数和方法参数类型匹配处理。 同理在Consumer端需要对返回的结果类型进行参数处理。 参数处理工具类是TypeUtils.cast():
1.兼容的父子类型不需要处理
2.处理数组类型是一个什么样的数组对每个值进行处理
3.处理Map使用json序列化
4.基本类型使用封装类型 四、各种类型的测试
1.引用类型参数
2.int类型参数
3.重载方法
4.无参方法
5.int类型参数String类型返回值
6.本地方法
7.int类型参数int类型返回值
8.无参方法String类型返回值
9.数组类型返回值
10.数组参数数组返回值