Laravel Restful 资源控制器和 restangular

Laravel Restful Resource controller & restangular

我们有一个 Laravel 5.1 Restful 资源控制器(假设是 FooController),所有方法都使用路由

api/foo/6/edit

我们还有一个 Angular.js 前端应用程序,它使用 restangular 模块与后端通信。

但是,当我们试图post将表单提供的数据提供给后端时; restangular 将 [PUT] 请求发送到:

/api/foo/6/edit/6

我们如何修改行为以将 PUT 请求 url 改为“/api/foo/6” '/api/foo/6/edit/6' 的同时仍然使用编辑路径获取编辑数据?

这是用于获取编辑数据和更新更改的代码:

代码:

find: function(id) {
    var defer = $q.defer();
    Restangular.one('foo', 6).one('edit').get().then(function(response) {
        defer.resolve(response);
    };

    return defer.promise;
},
save: function(data) {
    var defer = $q.defer();
    Restangular.all('foo').post(data).then(function(response) {
        defer.resolve(response);
    };
    return defer.promise;
}

改用自定义 PUT 解决了问题。

update: function(data) {
   var defer = $q.defer();
   Restangular.one('foo', 6).customPUT(data).then(function(response) {
       defer.resolve(response);
     }
   );

   return defer.promise;
}