RESTful API エンドポイントを設計する方法で競合している 2 人の開発者がいます。基本的に、Facebook 製品を手元に持っているとしましょう。投稿用のテーブルが 1 つあります。
最初の開発者は次のような意見を述べます
- テクニカル ストレージごとではなく、製品ごとにエンドポイントを分離する必要があります。そのために、ユーザーの facebook 投稿と他の facebook 投稿用のエンドポイントを用意します。
/v1/wall/mypost
/v1/wall/other
- そのようにするために、異なる結果を返す可能性のある各製品を構成することができます
2 番目の開発者は同意しません。次の意見を述べてください。
- このままだと無限エンドになります。
/wall/someone
、になります/wall/sometwo
。 単一のエンドポイントが必要であり、それをクエリの一部にするだけです。元。
/wall?user=someone
、/wall?user=sometwo
エンドポイントは技術スキーマのように見える必要があり、同じ結果を返します。コードのメンテナンスでより多くの仕事をするために分離する必要があるのはなぜですか。
エンドポイントを設計するための良い方法は何ですか? 製品ごとにエンドポイントにする必要がありますか? それともスキーマによるものですか?