我有一堆不同的拦截器,我只想在特定的$ resource端点上使用它们。我读到了$ resource的拦截器属性,并且有这个工作,但在一些情况下,我希望有两个拦截器用于一个端点响应,它就像普通的全局拦截器一样链。这可能吗?
在User $资源的操作中,我希望在登录端点添加类似我的内容:
var actions = {
login: {
method: 'POST',
url: '/api/auth/login',
interceptor: [AuthLoginInterceptor,AuthUserInterceptor]
},
logout: {
method: 'GET',
url: '/api/auth/logout',
interceptor: AuthLogoutInterceptor
},
update: {
method: 'PUT',
interceptor: AuthUserInterceptor
},...
我知道我可以只将一个代码包含在另一个代码中,所以最糟糕的情况是我只是重构一个解决方案,但如果可能的话,我宁愿保持原样。
答案 0 :(得分:3)
这样的事情怎么样?:
{
method: 'POST',
url: '/api/auth/login',
interceptor: {
response: function (config) {
return AuthLoginInterceptor.response(AuthUserInterceptor.response(config));
}
}
}
它似乎正在我正在使用的最小测试项目中工作。
根据我上面的评论回答。希望它可以用于此问题的未来访问者。