0

REST規約に従わないことが問題だと思う状況に遭遇しました。これを考慮してください。このREST APIを介して書籍の記録を操作できるAPIがあります

    http://localhost:8080/api/books

私の考えでは、リストを取得するために GET を実行すると、次のようになります。

    [{"name":"some book name",
      "price":"5"
     },
     {"name":"second book",
      "price":"100"
     }
    ]

上記の JSON を使用すると、Gson を使用してオブジェクト リスト/配列に簡単に逆シリアル化できます。

ただし、何らかの理由で、この API は以下を返すように実装されています。

    {"books": [{"name":"some book name",
                "price":"5"
               },
               {"name":"second book",
                "price":"100"
               }
              ]
    }

ご覧のとおり、「Books」というコンテナー クラスを使用して逆シリアル化し、Books のメソッドの 1 つから book 配列を取得する必要があります。

より多くの価値を提供しないコンテナ クラスを使用するのは悪い考えだと思います (これは単なるリスト コンテナです)。したがって、これが完全に問題ないのか、それともトラブルの兆候なのか (可能であれば説明付きで) 教えていただければ幸いです。

4

1 に答える 1

0

私の経験上、見られるのはごく普通のことです。それがベストプラクティスであるかどうかは意見の問題です。リソースが書籍アイテムの配列または単一の書籍アイテムを返すことを期待していますか? いずれにせよ、GSON/Jackson/Whatever でデシリアライズするのは簡単です。部分的な結果を返す場合の合計数など、リスト コンテナーに他のメタデータが含まれていることが原因である場合があります。

于 2013-10-09T23:22:39.557 に答える