在$ resource中定义URL路径

时间:2014-08-26 17:39:35

标签: javascript angularjs

我是AngularJS的新手,想要复制/配置以下两个URI /路径:

reports/search/findBySomeText?keyword=hello&filter=list
reports?filter=list
$resource中的

。到目前为止,我已经在下面提出,但不确定它是否正确:

var Report = $resource('reports/:search/:findBySomeText/:id', {
            id: '@id'
        }, {
            query: {
                method: 'GET',
                isArray: false,
                search : '@search',
                findBySomeText: '@findBySomeText',
                params: {
                   filter: 'list',
                   keyword: '@keyword'
                }
            },
            generate: {
                method: 'POST',
                params: {
                    generate: true
                }
            }
        });

所以这里有人可以纠正/或指导我如何实现这种行为!

NOTE - 如果可能的话,我希望将基本网址保留为api/reports/:id并添加其他uri行为以改变它们! 非常感谢!!

1 个答案:

答案 0 :(得分:1)

这可能适合你。

$resource('api/reports/findBySomeText?:keyword&:filter', { keyword: '@keyword', filter: '@filter' }).get({ keyword: 'hello', filter: 'list' });

$resource('api/reports/?:filter', { filter: '@filter' }).post({ filter: 'list' });

如果过滤 - > List实际上是一个过滤器列表,你可以在你的url中连接它们,例如' filter = item1& filter = item2& filter = item3'获得一个过滤器列表,如[" item1"," item2"," item3"]

如果这不是您正在寻找的内容,请告诉我。我不得不做几个猜测。