1

文字列、整数、および独自のオブジェクトの 3 つのパラメーターを使用して、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();

}

List<Object>問題は、AutoBean フレームワークが内部インターフェースの使用を許可していないことです。

異なるベース型と非ベース型の要素のリスト/配列を作成する別の方法はありますか?

4

2 に答える 2

4

いいえ、できません。AutoBean では、すべてが静的に型付けされている必要があります。ポリモーフィズムはなく、型が混在したマップのリストもありません。

ただし、JSON-RPC に対する RequestFactory の組み込みサポートに興味があるかもしれません。

于 2012-11-04T17:50:50.583 に答える
0

パラメータをすべてリストに戻す必要があるのはなぜですか? String確かに、 a 、 an Integer、および anotherで同じことをするつもりはありませんObject! それらをすべて個別に返送するだけです。

Objectさらに、 JSON を介してカスタムを送信するのではなくobjid、そのオブジェクトの を送信しているので、 を送信しInteger idてサーバーに処理させます。

于 2012-11-04T17:50:35.360 に答える