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
   154   155   156   157   158   159   160   161   162   163   164