gpt4 book ai didi

javascript - 如何在 AngularJS 中使用 $resource 查询所有内容

转载 作者:数据小太阳 更新时间:2023-10-29 05:33:48 25 4
gpt4 key购买 nike

我不相信我了解如何正确使用 Angular 的服务。我正在使用 JAX-RS 服务器端。

如果服务应该像(取自 phonecat example )那样工作...

angular.module('workstation.services', ['ngResource']).
factory('WorkflowService', function($resource, apiUrl){
return $resource(apiUrl+'/api/workflow/:uuid', {uuid:'@uuid'}, {});
});

那么如何查询所有的工作流呢?我无法使用 WorkflowService 来完成它,因为它已经尝试过 /api/workflow/:uuid。我需要另一个基于另一个 URL 的服务。

这看起来不太灵活,除非我用错了。

我习惯于看到 Service 处理所有数据查询,并使用 WorkflowService.getActiveWorkflows() 之类的方法返回 Workflow[]

但是我不确定如何组织此服务,因为我仍然希望拥有与单个实体交互的方法,例如 WorkflowService.save(workflow);。由于 $resource 是围绕特定的 RESTful URL 设计的,因此很难正确地构造它......

最佳答案

检查 angular documentation from $resource , 阅读actions 参数。它支持定义一个 url,该 url 将覆盖特定操作的基本 url。

使用默认操作“queryAll”,您可以从资源中查询所有内容

例子:

angular.module('workstation.services', ['ngResource']).
factory('WorkflowService', function($resource, apiUrl){
return $resource(apiUrl+'/api/workflow/:uuid', {uuid:'@uuid'}, {
queryAll: {
url: apiUrl + '/api/workflow/getAllActive',
method: 'GET',
cache: false,
isArray: true
}
});
});

关于javascript - 如何在 AngularJS 中使用 $resource 查询所有内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16042508/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com