私の REST API は、この種の要求を受け入れるように構成されています
public function lockUserAction($slug)
{} // "lock_user" [PATCH] /users/{slug}/lock
パッチリクエストを
/api/users/2/lock
id=2 のユーザーをロックします。これは angular.js 内の私の残りのサービスです
angular.module('UserService',['ngResource']).factory('User', function($resource){
var User = $resource('/api/users/:id',
{},
{
list: { method: 'GET' },
lock: { method: 'PATCH' }
}
);
return User;
});
リストは検索だけで機能しますが、ロックは機能しません。コンソールに次のように出力されます。
PATCH /api/users 405 (Method Not Allowed)
私はこのようにそれを呼び出します
$scope.lock = function(user){
user.$lock();
}
/api/users
エラー メッセージに、 の代わりにURL が表示されます/api/users/2/lock
。これは正常な動作ですか?もちろん、 GET リクエストのみを除き、 PATCH リクエストは on/api/users
のみで許可されていません/api/users/{slug}/lock
。
/api/users/{slug}/lock ではなく /api/users が呼び出される理由。これを修正する方法はありますか?