2012-01-20 6 views
0

私はREST APIの作成に取り組んでいます。私が提供しているリソースはobjectと呼ばれ、いくつかのプロパティが含まれています。REST APIパラメータの優先順位

このような GET api.example.com/objects?objectid=
GET api.example.com/objects?objectname=

別にこの

GET api.example.com/objects

のようなオブジェクトのセット全体を要求してから、私は、objectidまたはobjectnameのいずれかを提供することにより、単一のオブジェクトを要求できるようにしたいです

私が混乱していることは、どうやってこのような要求を処理すべきですか?この場合

GET api.example.com/objects?objectid=x&objectname=y

、私は400 Bad Requestを返す必要があります、またはパラメータの一つは、他に優先する必要がありますか? RESTはこの動作をどのように定義しますか?

答えて

3

RESTは、一般的に、リソースの一意のURLがあると仮定し、それは次のようになります。

GET api.example.com/objects?objectName=x 
+0

複数の検索パラメータの場合は、ANDまたはORと見なされますか? – xbonez

+1

私はREST勧告が何であるかわかりませんが、私は一般的にANDを使用して、異なるパラメータとORを使用して、単一のパラメータのリスト引数を指定します。?type = 2,3&parent = 10は(parent = 10 AND(type = 2 OR型= 3) – xpapad

1

A:あなたが何かを持っているでしょうので

GET api.example.com/objects/objectId 

パラメータは、一般的に、検索に使用されていますより良いアプローチは、特定のリソースのフィールド値を取得するために、パラメータ文字列内の汎用キーを使用することです。

GET api.example.com/objects/objectId?field=objectName,anotherField 

xpapadの提案を補完し、APIデザインに一貫したアプローチを定義する方法にスケーラブルな構造を追加することができます。

関連する問題