我想使用三个参数-字符串,整数和我自己的对象为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的内置支持感兴趣。

07-28 12:16