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;
}
我们有一个 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;
}