如何为 oData v4 的 $resource 指定 url

How to specify url for $resource for oData v4

我正在关注 damienbod's series on webapi and odata4,其中查询单个产品的 odata url 将是:

http://localhost/odata/Products(5)

问题是,如何构建 angular 中的 $resource url 以映射到此 url?我试过了

return $resource(appSettings.serverPath + "/odata/Products(:id)"

但是当我想查询集合时这会中断,在这种情况下生成的 url 是

http://localhost/odata/Products()

而不是

http://localhost/odata/Products

请告知我需要如何为此构建 $resource url?

您可以为您的 query 操作覆盖 URL,例如

return $resource(appSettings.serverPath + '/odata/Products(:id)', {
    id: '@id' // I'm just assuming you have these default params
}, {
    query: {
        method: 'GET',
        url: appSettings.serverPath + '/odata/Products',
        isArray: true
    }
});