php - RESTful 形式でのルートの重複した名前についてはどうすればよいですか?
黄舟
黄舟 2017-06-20 10:07:20
0
3
902

たとえば、このルート
GET /users/{id}/comments
ユーザーのページにメッセージボードがあり、コメントコンポーネントを使用する予定だとします
投稿された返信用いくつかの投稿でユーザーが使用した場合、これもコメント コンポーネントです。
データベースを設計するとき、これら 2 つのコメント コンポーネントは同じデータ テーブル (ポリモーフィック アソシエーション) を使用します (これについては心配する必要はありません)
ポイントこのルートには矛盾する意味があります:
ユーザーのメッセージ ボード (他の人が投稿したもの) を表示していますか?
それとも投稿内のユーザーの返信を表示していますか?

それでは、この問題を解決し、restful 形式でこれら 2 つのルートを区別する方法を説明します。

申し訳ありませんが、私は乙女座です、、、(でも、この問題に対する最善の解決策を見つけたいとも思っています)

実は、この問題には別のシナリオがあります。それは、私をフォローしている人と私をフォローしている人をどのように区別するかということです。

GET /users/{id}/follows
このルートには、私がフォローしている人、または私をフォローしている人が表示されますか?

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全員に返信(3)
为情所困

最初のシナリオでは、ユーザーのメッセージ ボードまたは投稿がユーザーのメッセージ ボードにあるかどうかを識別するフィールドがデータ テーブルに必要だと思います。このフィールドを一時的に type,所以可以写成GET /users/{id}/comments/{type}

と呼びます。

別のシナリオでは、パラメーターを使用できますtype指定是我关注的还是关注我的,可以写作GET /users/{id}/follows/{type}
もちろん、私がフォローしているものと私をフォローしているものを区別する別の方法もあります

リーリー
いいねを押す +0
学习ing

ユーザーにメッセージを残すことと、投稿にメッセージを残すことは、2 つの異なるリソースを操作するために URI によって配置されます。異なるリソースを操作するために同じ URI を使用するのは間違っています。

いいねを押す +0
给我你的怀抱

ユーザーページの掲示板でメッセージを使用できます
フォロワーが私をフォローしています
フォローしているのは私がフォローしているものです
もう少し英語の単語を教えてください。

質問者さんは名前を変えていないようです。実際、名前を変更する最初の理由は、問題を根本的に解決できるためであり、2 つ目の理由は、後続のメンテナーにとって便利であるためです。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート