2016-05-17 12 views
0

PUTDELETE操作がprofileIdまたはprofileName(両方がユニークである)のいずれかを渡すことによってプロファイルリソース上で実行することができた場合は、URLを形成するための正しい方法は何ですか?設計REST URL複数の識別子

私は更新の両方をサポートしてprofileIdを送信するときに、プロファイルリソースに操作を削除し、profileNameを送信するときに、プロファイルリソースに削除操作更新の両方をサポートしたいです。

profileIdを送信する場合、PUT操作を実行するためのURLは次のようになります。

/api/profiles/{profileId} 

どのURLはprofileNameを送信するときのように見えるのでしょうか?クエリパラメータとしてprofileNameを送信する必要がありますか?

/api/profiles?profileName=uniqueProfileName 

それとも、このシナリオを処理するための任意のより良い方法はありますか?

+0

これはあなたがここであなたが削除するIDを扱うことができますこの配列で、URLで配列を送信する方法を見つけるのを助けるでしょう。 http://stackoverflow.com/questions/6243051/how-to-pass-an-array-within-a-query-string –

+0

私たちは両方をサポートしたいと思っています。それは、profileIdによるプロファイルの更新/削除と、プロファイルの更新/削除です。 by profileName –

答えて

1

あなたはあなたのプロフィールのリソースのための主な識別子としてprofileIdを使用することができます。

/api/profiles/{profileId} 

そして、あなたは、クエリパラメータを使用して二次識別子として{profileName}をサポートすることができました:

/api/profiles?name={profileName} 

または、マトリックスパラメータ:

/api/profiles;name={profileName} 
+1

ありがとうございました:) –

+0

私は主識別子と二次識別子(profileIdとprofileName)の両方をサポートする 'ProfileResource'を設計しました。エラーを取得する。質問が更新されました。これで私を助けてもらえますか? –

+0

@VGHegde元の質問の範囲外です。なぜあなたは新しい質問をしないのですか?私はそこでお手伝いします。 *ヒント:*すべてのプロファイルを返すメソッドでクエリ文字列を使用し、あいまいさを避けることができます。 –

関連する問題