ROA(Resource Oriented Architecture)を使用して、アプリケーションへのRESTインターフェースを構築しています。
クライアントがURLで検索パラメータを指定できるようにしたいと思います。したがって、クライアントは「次のようなすべての人を私にくれ」と言うことができます。
- 「first_name」は「BOB」と同じです
- 「年齢」が「30」より大きい
- 「last_name」で並べ替え
私は次のようなことを考えていました:
GET /PEOPLE/{query_parameters}/{sort_parameters}
...多分
GET /PEOPLE?query=<query_string>&sort=<sort_string>
...しかし、COLUMN_NAME-OPERATOR-VALUEで3回指定するのにどの構文が適しているかわかりません。私はおそらく次のようなことを考えていました:
column_name.operator.value
したがって、クライアントは次のように言うことができます。
GET /PEOPLE?query=first_name.EQUALS.bob&query=age.GREATER_THAN.30&sort=last_name.ASCENDING
私は本当にここで車輪の再発明をしたくありません、これが行われるいくつかの受け入れられた方法はありますか?私はRestletsを使用していますが、それが違いを生むかどうかはわかりません。