目前我在angularjs中的url结构如下。当我加载页面时,我使用
Orders.query
当我尝试使用
进行更新时order.update()
但是一旦我设置搜索等条件然后获取订单,请使用
更新它们order.update()
它尝试在条件/订单上调用PUT,因为使用Fetch工厂方法获取新订单。有没有更好的方法来合并网址,使其更有意义。在这种情况下是否遵循任何标准?
angular.module('orders').factory('Orders', ['$resource',
function($resource) {
return $resource('orders/:orderId', {
orderId: '@_id'
}, {
update: {
method: 'PUT'
}
});
}
]).factory('Search', ['$resource',
function($resource) {
return $resource('search/orders/', {},{
conditioned: {
method:'GET', params:{}, isArray:true
}
});
}
])
服务器端(Expressjs)的路由
app.route('/orders')
.get(orders.list)
.post(users.requiresLogin, orders.create);
app.route('/orders/:orderId')
.get(orders.read)
.put(users.requiresLogin, orders.update)
.delete(users.requiresLogin, orders.delete);
app.route('/search/orders')
.get(orders.search);