我用$资源构建了一个饱满的应用程序,我读到了它,但我没有找到任何答案。
return $resource('/rings', {}, {
getRings: {
method: 'GET',
isArray: true
},
patchRing: {
method: 'PATCH',
params: {
slug: '@slug'
}
}
}
获取戒指是可以的,但我怎么能" patchRing"?我的意思是我想要端点PATCH:/ rings /:slug这可能吗?或者我是否需要另一个$资源(如下一个)?
return $resource('/rings/:slug', { slug: '@slug'}, { [...]
编辑:我不想要" PATCH"像这样/戒指?slug = lorem只是/ rings / lorem
编辑2:我的观点只是端点构造...因为$ resource正在请求/ rings?slug = lorem而不是像/ rings / lorem那样的构建请求
答案 0 :(得分:1)
在配置中尝试此操作
$resourceProvider.defaults.stripTrailingSlashes = true;
这不会以/
结尾答案 1 :(得分:0)
尝试将param放在$resource
定义而不是PATCH方法中:
var Ring = $resource('/rings/:slug', {slug: '@slug'}, {
getRings: {
method: 'GET',
isArray: true
},
patchRing: {
method: 'PATCH',
}
});
ring = Ring.patch({slug: 'lorem'}, function() { ... });
如果未传递slug
参数,则不会将其添加到HTTP路径。