【发布时间】:2015-12-01 15:57:52
【问题描述】:
我有一个返回所有学生的 REST 服务。
URL : rest/students
我可以向它添加可选参数,例如,
URL : rest/students?department=1001&valid=true
对于这个用例,我创建了一个角度服务,
angular.module('app.student').
factory('StudentService',StudentService);
StudentService.$inject = ['$http','ENV_CONSTANTS'];
function StudentService($http,ENV_CONSTANTS){
var service = {
getAllStudents : getAllSTudents,
getValidStudents : getValidStudents,
getValidStudentByDepartment : getValidStudentByDepartment
};
return service;
function getAllStudents(){
return $http.get(ENV_CONSTANTS.baseUrl+'/students');
}
function getValidStudents(){
return $http.get(ENV_CONSTANTS.baseUrl+'/students?valid=true');
}
function getValidStudentByDepartment (departmentId){
return $http.get(ENV_CONSTANTS.baseUrl+
'/students?valid=true&departmentId'+departmentId);
}
}
但我觉得这不是一个好的设计,因为对于每个查询参数或查询参数的组合我都需要创建一个方法。任何人都可以提出一个正确的方法来做到这一点吗?
【问题讨论】:
标签: angularjs angular-services