次のようなリソースがあるとしましょう。
var User = $resource('/user/:userId', {userId:'@id'});
var user = User.get({userId:123});
これは、URL内のの値が、そのプロパティが必要なときにユーザーオブジェクト:userId
のプロパティに置き換えられることを意味します。id
では、いつ必要になるのでしょうか。これは、既存のユーザーに対して何かをしているときに必要です。たとえば、ユーザーを更新しget
たり、更新したりします。ユーザーを作成する場合は必要ありません。
ほとんどの場合、リソースが使用するREST URL(おそらくオブジェクトID)には、少なくとも1つのパラメーターの前に@を付ける必要があります。オブジェクトがない場合は、オブジェクトのインスタンスを保存するために、オブジェクトが保存されている場所について何も知る必要がないことを意味します。これは、そのシングルトンオブジェクトを意味します。多分設定オブジェクトのように。
これがあなたの待望の例です:
var User = $resource('/user/:userId/:dogName', {userId:'@id', dogName:@dog});
User.get({userId:123, dog:'Matt'}, function() { .. })
リクエストを生成します:GET/user/123/Matt