如果我试图搜索特定的非id字段,我使用的API需要一个非标准的where子句。我需要的端点是:
http://127.0.0.1:4001/api/testusers/findOne?userName=Anton
因此,这将在testusers表中找到列(userName) = 'Anton‘的第一条记录。
我的标准服务是:
angular.
module('shared.testUser').
factory('TestUser', ['$resource',
function($resource) {
return $resource('http://127.0.0.1:4001/api/testusers/:id', {id:'@id'},//parameters
{
update: {
method: 'PUT' // To send the HTTP Put request when calling this custom update method.
}
});
}
]);
我的调用函数是:
self.checkUsersEntryDirection = function(){ //NOT WORKING
self.testuser = TestUser.get({ username: 'anton' }, function() {
console.log(angular.toJson(self.testuser));
}); // get() returns a single entry
}
显然,这不起作用,我不能使用标准的get方法。有人能想到如何实现这一点吗?
发布于 2016-10-31 14:33:32
使用两个参数调用get操作方法:
var params = {id: "findOne", username: "anton"};
self.checkUsersEntryDirection = function(){
self.testuser = TestUser.get(params, function() {
console.log(angular.toJson(self.testuser));
}); // get() returns a single entry
}id参数将覆盖默认值,username参数将作为查询字符串添加。
在DOCS中:
首先将参数对象中的每个键值绑定到url模板(如果存在),然后将任何多余的键附加到url搜索查询的?之后。
给定一个模板/path/:verb和参数{verb:'greet', salutation:'Hello'},结果是URL /path/greet?salutation=Hello。
https://stackoverflow.com/questions/40280008
复制相似问题