0

Jersey と Jackson で動作する JSON オブジェクトを設計しようとしています。

JSON / Restful プログラミングにはかなり慣れていないので、次のことが実行可能かどうか疑問に思っています。

{
"name": "myservice",

"orders": [
    {
        "name": "iphone",
        "description": "iPhone 5",
        "providers": [
            {
                "name": "a",
                "description": "AT&T",
                "pricing": ["$40", "$70", "$120"]
            },
            {
                "name": "b",
                "description": "Verizon",
                "pricing": ["$45", "$60", "$85"]
            }
        ]
    },
    {
        "name": "galaxy3",
        "description": "Samsung Galaxy 3",
        "providers": [
            {
                "name": "a",
                "description": "AT&T",
                 "pricing": ["$45", "$60", "$85"]

            }
        ]
    }
]
}

iPhone の Verizon プロバイダーに関するすべての情報を取得します。

 curl GET -H'Content-Type: application/json' https://mydomain/myservice/iphone/b 

戻ります:

{
   "name": "b",
   "description": "Verizon",
   "pricing": ["$45", "$60", "$85"]
}

iPhone の AT&T プロバイダーの価格一覧を取得します。

curl GET -H'Content-Type: application/json' https://mydomain/myservice/iphone/a?pricing 

戻ります:

{

   ["$40", "$70", "$120"]

}

例やフィードバックは大歓迎です!

4

1 に答える 1

0

以下は、REST API の定義に関する適切な説明です: REST 複合/複合/ネストされたリソース

json で変更する内容は次のとおりです。 1. 注文 -> 注文。リソースは単数名詞として宣言されているため

これは、(複合リソースを使用して) 取得する必要があることがわかっている場合に、クライアントから呼び出す方法です。

  1. https://<mydomain>/myservice/order/iphone/provider/b
  2. https://<mydomain>/myservice/order/iphone/provider/a/pricing

注文を検索する必要がある場合は、次のようにリクエストを定義できます。

  1. https://<mydomain>/myservice/order?name=iphone->「順序」リストの最初の要素を返します

「名前」はそれぞれのリソース (オーダーとプロバイダー) のキーであると仮定しています。

于 2012-11-08T23:05:58.593 に答える