我想使用三个参数-字符串,整数和我自己的对象为JSON-RPC创建请求。请求应如下所示:
{"method":"MyMethod", "params":["text", 123, {"name": "any text", "num": 15}], "id":1}
理想情况下,我想创建一个像这样的AutoBean(但它不起作用):
interface JsonRpcRequest {
String getJsonrpc();
void setJsonrpc(String value);
String getMethod();
void setMethod(String value);
List<Object> getParams(); // ERROR: Type Object may not be used
void setParams(List<Object> params); // ERROR: Type Object may not be used
}
interface JsonRpcRequestFactory extends AutoBeanFactory {
AutoBean<JsonRpcRequest> jsonRpcRequest();
}
问题是AutoBean框架不允许在接口内部使用
List<Object>
。还有另一种方法来创建基于不同类型和基于不同类型的元素的列表/数组吗?
最佳答案
不,你根本做不到。 AutoBean要求所有内容都是静态类型的:没有多态性,也没有混合类型的地图列表。
不过,您可能会对RequestFactory对JSON-RPC的内置支持感兴趣。