我想用三个参数创建一个JSON-RPC请求 - String,Integer和我自己的对象。请求应如下所示:
{"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>
。
是否有另一种方法可以创建不同类型和非基类型的元素列表/数组?
答案 0 :(得分:4)
你可能会对RequestFactory对JSON-RPC的内置支持感兴趣。
答案 1 :(得分:0)
为什么你的参数都需要传回列表?当然,你不会对String
,Integer
和另一个Object
做同样的事情!只需将它们全部分开寄回。
此外,您没有通过JSON发送自定义Object
,而是发送该对象的objid
...所以只需发送Integer id
并让服务器处理它。