Page 159 - AngularJS权威教程
P. 159
15.11 $resource 设置对象 139
在这个对象中,键是方法的名称,值是$http设置对象。 1
var User = $resource('/api/users/:userId.json', {
userId: '@id'
sendEmail: { 2
method: 'POST'
},
allInboxes: { 3
method: 'JSONP',
isArray: true
}
}); 4
借助这个User资源,资源集合(User资源对象)中的个体实例现在可以使用sendEmail()和
update()方法了(也就是user.$sendEmail()和user.$update())。 5
15.11 $resource 设置对象 6
$resource设置对象和$http设置对象十分相似,仅有少量的不同。
7
对象中的值,也就是动作,是资源对象中某个方法的名字。
它可以包含以下键。 8
1. method(字符串)
9
method指的是我们想要用来发送HTTP请求的方法。它必须是以下值之一:‘GET’、‘DELETE’、
‘JSONP’、‘POST’、‘PUT’。
10
2. url(字符串)
一个URL,用来覆盖为该方法的具体路由设置的URL。
11
3. params(字符串map或对象)
这个键中包含了此动作可选的预绑定参数。如果任何一个值都是函数,那么每当我们需要读 12
取一个请求的参数时,它就会被执行一次。
4. isArray(布尔型) 13
如果isArray被设置为true,那么这个动作返回的对象会以数组的形式返回。
14
5. transformRequest(函数或函数数组)
这个函数或函数数组用来对HTTP请求的请求体和头信息进行转换,并返回转换后的版本。
通常用来进行序列化。 15
var User = $resource('/api/users/:id',{
id: '@' 16
}, {
sendEmail: {
method: 'PUT', 17
transformRequest: function(data, headerFn) {
// 返回修改后的请求数据
return JSON.stringify(data);
} 18