我的 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();
}
在错误消息中,我看到的是 url/api/users
而不是/api/users/2/lock
. 这是正常行为吗?/api/users
当然,仅列出 GET 请求和 PATCH 请求除外/api/users/{slug}/lock
。
为什么调用 /api/users 而不是 /api/users/{slug}/lock 的任何想法。任何想法如何解决这一问题?