我需要为我的"客户用户"创建一项服务。我的API端点使用/api/v1/customer/:id_customer/users
方法GET/POST/PUT/DELETE
。
现在,在我的AngularJS代码中,我有一个服务,它是我的AngularJS controllers
和$http
服务之间的接口,如下所示:
module.exports = function ($http) {
var service = {};
var _mainUrl = 'http://localhost:8080/api/v1/customer/';
service.get = function (id) {
return $http({
method: 'GET',
url: _mainUrl + id
});
};
service.save = function (model) {
return $http({
method: 'POST',
url: _mainUrl,
data: model
});
};
return service;
};
现在,在我的"客户用户"服务我需要将:id_customer
传递给我的服务。那么,这将是一个很好的方法?我应该将:id_customer传递给每个方法,例如:
module.exports = function ($http) {
var service = {};
var _mainUrl = 'http://localhost:8080/api/v1/customer/';
var _tailUrl = '/user/';
service.get = function (id_customer, id) {
return $http({
method: 'GET',
url: _mainUrl + id_customer + _tailUrl + id
});
};
return service;
};
或者我应该有一个"setter"
并在拨打任何电话之前拨打电话,例如:
module.exports = function ($http) {
var service = {};
var _mainUrl = 'http://localhost:8080/api/v1/customer/';
var _idCustomer = '';
var _tailUrl = '/user/';
service.get = function (id) {
return $http({
method: 'GET',
url: _mainUrl + _idCustomer + _tailUrl + id
});
};
service.setCustomer = function (id_customer) {
_idCustomer = id_customer;
}
return service;
};
答案 0 :(得分:1)
第一种方法更好 - 将id_customer
和id_user
传递给一种方法。
有几个原因: