为资源编写拦截器的正确方法是什么?

上皮

我需要在每次获取,保存,更新时转换服务响应。我已经创建了资源并添加了要执行的转换器,但是返回的对象的结构与不使用转换器时的结构不同。在这里,我谈论的是响应的结构,而不是我要转换的对象。这是我的资源:

angular.module('app')
   .factory('Insureds', ['$resource', 'config',  function ($resource, config) {

       function transform(response) {

           var insured = response.data.insured;


           return response;
       }

       var memberServicesHostName = config.memberServicesHostName;
       return $resource(memberServicesHostName + '/insureds/:insuredId', null,
       {
           'get': {
               method: 'GET', 'withCredentials': true, interceptor:
               {
                    response: function (response) { return transform(response).data; }
               }
           },
           'update': { method: 'PUT', 'withCredentials': true },
           'save': { method: 'POST', 'withCredentials': true }
       });
   }]);

当不使用承诺时,当我不使用转换器“ insured”处于第一级时,它将解析为被保险对象的实例。但是在转换器中,有一个包装对象,其中包含被保险人和responseStatus属性。这可能与我从拦截器中的“响应”返回的内容有关。一个回传,原始回复(例如我正在做的事情),response.data或response.resource.insured应该是什么?我很迷惑...

runTarm

默认的响应拦截器是这样的:

function defaultResponseInterceptor(response) {
  return response.resource;
}

因此,如果您想保留默认行为,则必须返回response.resource而不是response.data

return $resource(memberServicesHostName + '/insureds/:insuredId', null, {
  get: {
    method: 'GET',
    withCredentials: true,
    interceptor: {
      response: function (response) {
        return transform(response).resource;
      }
    }
  },
  ...

希望这可以帮助。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Java EE中的拦截器是什么?

来自分类Dev

AngularJS中$ http拦截器的执行顺序是什么?

来自分类Dev

为Kubernetes资源编写yaml文件的最佳方法是什么?

来自分类Dev

在Angular中禁用/删除http拦截器的正确方法?

来自分类Dev

拦截器按什么顺序执行?

来自分类Dev

拦截器和transformResponse之间的确切区别是什么?

来自分类Dev

为什么我的Angular拦截器没有正确缩小?

来自分类Dev

未调用拦截器方法

来自分类Dev

Guice中的注入方法拦截器

来自分类Dev

引用资源字典的正确方法是什么?

来自分类Dev

编写haskell函数的正确方法是什么

来自分类Dev

编写Ruby代码的正确方法是什么?

来自分类Dev

在JQuery中为select-option-selected编写ID选择器的正确语法是什么?

来自分类Dev

在CXF Webservices项目中编写拦截器

来自分类Dev

CDI拦截器:从拦截的方法获取参数

来自分类Dev

CDI拦截器:从拦截的方法获取参数

来自分类Dev

是否为每个类实例创建了 Cglib 方法拦截器?

来自分类Dev

为涉及命名Unity资源的单元测试设置模拟的正确方法是什么?

来自分类Dev

使用form:input为Spring MVC编写表单的正确方法是什么

来自分类Dev

我的Google Guice方法拦截器无法执行,但是为什么呢?

来自分类Dev

为什么不对从servlet过滤器调用的EJB方法触发拦截器?

来自分类Dev

为成员编写C ++设置器的正确方法是什么,这些成员是指向其他对象的指针,从而不会导致内存泄漏或崩溃?

来自分类Dev

laravel (5.6) 中 AJAX POST 和资源控制器的正确方法是什么?

来自分类Dev

编写用于条件OO模块加载的包装器模块的正确方法是什么?

来自分类Dev

System.ObjectDisposedException。处理流编写器的正确方法是什么?

来自分类Dev

为某些动作添加自定义拦截器

来自分类Dev

从拦截器的preHandle方法调用控制器

来自分类Dev

休眠拦截器-为什么在onSave之后调用onFlushDirty?

来自分类Dev

为什么 Spring 拦截器会被错误的 URL 绕过?

Related 相关文章

  1. 1

    Java EE中的拦截器是什么?

  2. 2

    AngularJS中$ http拦截器的执行顺序是什么?

  3. 3

    为Kubernetes资源编写yaml文件的最佳方法是什么?

  4. 4

    在Angular中禁用/删除http拦截器的正确方法?

  5. 5

    拦截器按什么顺序执行?

  6. 6

    拦截器和transformResponse之间的确切区别是什么?

  7. 7

    为什么我的Angular拦截器没有正确缩小?

  8. 8

    未调用拦截器方法

  9. 9

    Guice中的注入方法拦截器

  10. 10

    引用资源字典的正确方法是什么?

  11. 11

    编写haskell函数的正确方法是什么

  12. 12

    编写Ruby代码的正确方法是什么?

  13. 13

    在JQuery中为select-option-selected编写ID选择器的正确语法是什么?

  14. 14

    在CXF Webservices项目中编写拦截器

  15. 15

    CDI拦截器:从拦截的方法获取参数

  16. 16

    CDI拦截器:从拦截的方法获取参数

  17. 17

    是否为每个类实例创建了 Cglib 方法拦截器?

  18. 18

    为涉及命名Unity资源的单元测试设置模拟的正确方法是什么?

  19. 19

    使用form:input为Spring MVC编写表单的正确方法是什么

  20. 20

    我的Google Guice方法拦截器无法执行,但是为什么呢?

  21. 21

    为什么不对从servlet过滤器调用的EJB方法触发拦截器?

  22. 22

    为成员编写C ++设置器的正确方法是什么,这些成员是指向其他对象的指针,从而不会导致内存泄漏或崩溃?

  23. 23

    laravel (5.6) 中 AJAX POST 和资源控制器的正确方法是什么?

  24. 24

    编写用于条件OO模块加载的包装器模块的正确方法是什么?

  25. 25

    System.ObjectDisposedException。处理流编写器的正确方法是什么?

  26. 26

    为某些动作添加自定义拦截器

  27. 27

    从拦截器的preHandle方法调用控制器

  28. 28

    休眠拦截器-为什么在onSave之后调用onFlushDirty?

  29. 29

    为什么 Spring 拦截器会被错误的 URL 绕过?

热门标签

归档