14

私は ember-data を使用して EmberJS アプリを構築しています。

アプリの一部の機能には、非常に複雑なクエリが必要です。

例として、生徒、教師、クラスの 3 つのエンティティがあるとします。X 先生の授業を受けている 1993 年以前に生まれたすべての生徒のリストを取得したい場合、RESTful API を使用してそれを行うにはどうすればよいですか? プレーン SQL では十分に簡単ですが、これを API に実装するためのベスト プラクティスがわかりません。

基本的な REST API と一緒にカスタム エンドポイントを構築する必要がありますか?

だから私はまだ持っているだろう:

GET /students (which returns all the students)
GET /students/{id} (which returns a specific student)
etc

ただし、「カスタム」クエリに次を実装します。

GET /students/custom/born_before/{date}/taught_by/{teacher_id}

または、これを行うためのより標準化された方法はありますか?

4

2 に答える 2

32

あなたはあなたを変えることができます

GET /students/custom/born_before/{date}/taught_by/{teacher_id}

の中へ

GET /students/?born_before={date}&taught_by={teacher_id}

これは単なる「例によるクエリ」オプションです。提供されたフィールドをモデル インスタンスに入力し、それらを使用してクエリを作成できます。フィールドが少ないほど、検索範囲が広くなり、より多くの結果が表示されます。

たとえば、これがJIRA の API の仕組みです。

于 2013-05-28T15:42:40.337 に答える