Расширение бэкэнд-моделей (Data / DTO) и syn c со Спартаком - PullRequest
1 голос
/ 29 января 2020

Каков подход, если вы хотите добавить новый атрибут к Продукту (Модель / Данные / DTO) в SAP Commerce Cloud и хотите получить к нему доступ в Спартаке (используя Spartacus ProductService)? Как ввести атрибут в модель продукта в Спартаке и заполнить его значением из бэкэнда?

Этот вопрос можно рассматривать как общий вопрос о том, как применить это требование ко всем моделям и сохранить модели в syn c между бэкэндом и внешним интерфейсом.

Заранее спасибо.

1 Ответ

0 голосов
/ 29 января 2020

Чтобы получить дополнительные атрибуты, вы можете настроить конечную точку. См. https://sap.github.io/cloud-commerce-spartacus-storefront-docs/connecting-to-other-systems/#configuring -endpoints для получения дополнительной информации. Нет необходимости обязательно конвертировать ( нормализовать ) данные, но вы также можете это сделать. Это описано в той же документации. И вы могли бы даже заменить стандартные адаптеры O CC на собственные, если вам нужно адаптировать сторонний бэкэнд.

Как только данные загружены из серверной части, они будут сохранены в центральном хранилище и предоставлены фасаду без ограничений. Тем не менее, вы можете захотеть улучшить типизацию по умолчанию, чтобы получить выгоду от безопасности типов и не отступать до any. Вы можете сделать это с помощью следующего:

// intro custom typing
interface CustomProduct extends Product {
  customAttribute?: string;
}

// use typing for the observed data
product$: Observable<CustomProduct> = this.currentProductService.getProduct()
...