仅使用一个 $resource 构建一个对象
Building one object with only one $resource
我正在使用 $resources 构建一个 fullrest 应用程序,我阅读了它,但没有找到任何答案。
return $resource('/rings', {}, {
getRings: {
method: 'GET',
isArray: true
},
patchRing: {
method: 'PATCH',
params: {
slug: '@slug'
}
}
}
Get Rings 运行良好,但我如何才能 "patchRing"?我的意思是我想为端点 PATCH: /rings/:slug 这可能吗?或者我需要另一个 $resource 吗(比如下一个)?
return $resource('/rings/:slug', { slug: '@slug'}, { [...]
编辑:我不想要这样的 "PATCH" /rings?slug=lorem 只是 /rings/lorem
编辑 2:我的观点只是端点构造...因为 $resource 正在请求 /rings?slug=lorem 而不是像 /rings/lorem
这样的构建请求
尝试将参数放在 $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路径中。
在您的配置中试试这个
$resourceProvider.defaults.stripTrailingSlashes = true;
这不会以 /
结尾
我正在使用 $resources 构建一个 fullrest 应用程序,我阅读了它,但没有找到任何答案。
return $resource('/rings', {}, {
getRings: {
method: 'GET',
isArray: true
},
patchRing: {
method: 'PATCH',
params: {
slug: '@slug'
}
}
}
Get Rings 运行良好,但我如何才能 "patchRing"?我的意思是我想为端点 PATCH: /rings/:slug 这可能吗?或者我需要另一个 $resource 吗(比如下一个)?
return $resource('/rings/:slug', { slug: '@slug'}, { [...]
编辑:我不想要这样的 "PATCH" /rings?slug=lorem 只是 /rings/lorem
编辑 2:我的观点只是端点构造...因为 $resource 正在请求 /rings?slug=lorem 而不是像 /rings/lorem
这样的构建请求尝试将参数放在 $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路径中。
在您的配置中试试这个
$resourceProvider.defaults.stripTrailingSlashes = true;
这不会以 /
结尾