我构建了一个通用 Angular 服务,这是您的应用程序中唯一需要的服务。
https://github.com/cullimorer/AngularGenericAPIService https://github.com/cullimorer/AngularGenericAPIService
该服务包含许多不同的方法:
GET(数组)- 获取列表数据
GET - 获取数据
PUT - 更新数据
POST - 添加数据
删除 - 删除数据
那么,这有什么特别之处呢?那么,发生的情况是,您可以调用任何端点,传入任意数量的参数。这与 C# 中的“string.Format”函数非常相似,它将获取指定对象的值并将它们插入到另一个字符串中。 commonService 包含一个名为“stringFormat”的方法,该方法复制此功能以供通用 API 服务使用。
让我们看看我们在实践中如何做到这一点。如果您想调用名为“fooBars”的 Restful API 端点,并传入 1 的“ID”来返回单个“fooBar”,我们会这样做:
return genericService.getData('fooBars/{0}', [1]);
这将使用 URL 调用 API:
"http://localhost/API/fooBars/1 http://localhost/API/fooBars/1"
第二个参数是一个数组,这样你就可以将任意多个参数传递到字符串中,假设我们有许多“foos”和“bars”,我们可能会这样做:
return genericService.getData('foos/{0}/bars/{1}', [1, 2]);
这将使用 URL 调用 API:
"http://localhost/API/foos/1/bars/2 http://localhost/API/foos/1/bars/2"
等等。这是一个非常简单的服务,但我在所有 AngularJS 项目中都使用它,因为它很容易实现,并且意味着您不必在 Angular 服务中编写大量不同的查询或编写长字符串连接。