在 Spartacus 中为新的 API 创建一个 API 调用
Creating an API call for a new API in Spartacus
我们公开了一些来自 SAP Commerce 的新 API,并且需要 get/post 某些组件或服务中的数据。
是否有任何预定义的机制来利用新的 API 集成,或者我们应该简单地使用来自 Angular 的 HttpClient?
我们期望应该有一种方法可以从新的 API 中获取数据,就像我们从 OOTB API 中获取数据一样,例如“StoreFinderService”,它可以帮助我们获取数据商店,还有一些其他服务。
Spartacus 使用 NgRx 来处理所有 API,然后这些服务从商店提供数据。同样,必须有一种方法来获取根据业务需求创建的新 API 的数据。
Spartacus 在后台使用 Angular HttpClient,这是与 http 交互的推荐服务。但是,直接从组件使用 HttpClient 通常被认为是一种不好的做法。您最好分离关注点,并将与后端的交互委托给服务。
Spartacus 提供了一个广泛的架构来处理后端 API,您可以在 https://sap.github.io/spartacus-docs/connecting-to-other-systems 上阅读更多相关信息。您可以遵循此架构,但对于一个项目而言,它过于复杂。该架构真正以扩展点为目标,这对产品来说是公平的,但通常对项目来说并不公平。
https://github.com/SAP/spartacus-bootcamp/tree/master/src/app/features/state 向您展示了一些将自定义状态引入 Spartacus 状态的示例。
对于引入新功能的项目,我会在服务中创建和维护状态,或者在 ngrx 中引入自定义状态。对于后者,您可以评估显示如何将新状态添加到 Spartacus 中的 https://github.com/SAP/spartacus-bootcamp/tree/master/src/app/features/state,或阅读 ngrx 资源。
我们公开了一些来自 SAP Commerce 的新 API,并且需要 get/post 某些组件或服务中的数据。
是否有任何预定义的机制来利用新的 API 集成,或者我们应该简单地使用来自 Angular 的 HttpClient?
我们期望应该有一种方法可以从新的 API 中获取数据,就像我们从 OOTB API 中获取数据一样,例如“StoreFinderService”,它可以帮助我们获取数据商店,还有一些其他服务。
Spartacus 使用 NgRx 来处理所有 API,然后这些服务从商店提供数据。同样,必须有一种方法来获取根据业务需求创建的新 API 的数据。
Spartacus 在后台使用 Angular HttpClient,这是与 http 交互的推荐服务。但是,直接从组件使用 HttpClient 通常被认为是一种不好的做法。您最好分离关注点,并将与后端的交互委托给服务。
Spartacus 提供了一个广泛的架构来处理后端 API,您可以在 https://sap.github.io/spartacus-docs/connecting-to-other-systems 上阅读更多相关信息。您可以遵循此架构,但对于一个项目而言,它过于复杂。该架构真正以扩展点为目标,这对产品来说是公平的,但通常对项目来说并不公平。
https://github.com/SAP/spartacus-bootcamp/tree/master/src/app/features/state 向您展示了一些将自定义状态引入 Spartacus 状态的示例。
对于引入新功能的项目,我会在服务中创建和维护状态,或者在 ngrx 中引入自定义状态。对于后者,您可以评估显示如何将新状态添加到 Spartacus 中的 https://github.com/SAP/spartacus-bootcamp/tree/master/src/app/features/state,或阅读 ngrx 资源。