关于ecmascript-6:Spartacus-启动时-basesites-OCC-API-请求的技术细节

53次阅读

共计 3428 个字符,预计需要花费 9 分钟才能阅读完成。

SAP Spartacus 是一款开源的电子商务前端框架,旨在提供可扩大、可自定义和可保护的电子商务 Web 应用程序。在 Spartacus 应用程序启动时,发动的 OCC(Open Commerce Cloud)申请 occ/v2/basesites?fields=FULL 是一个重要的申请,用于获取无关根本站点(base sites)的信息。本文将具体介绍这个申请的作用以及参数 fields=FULL 的作用,并提供示例以更好地了解。

Spartacus 启动时的 OCC 申请

在 Spartacus 应用程序启动时,须要获取与电子商务站点相干的根本信息,以便正确配置应用程序和提供相干内容。这个信息通常存储在 SAP Commerce Cloud 中,并通过 OCC API 提供。根本站点(base sites)是 SAP Commerce Cloud 中的重要概念,它们代表了不同的商业模型或品牌,每个根本站点都能够有本人的配置、产品和内容。

OCC 申请示例

让咱们来看一个示例,以更具体地阐明 occ/v2/basesites?fields=FULL 申请的作用和 fields 参数的含意。在这个示例中,咱们将应用特殊符号 ` 示意双引号。

假如咱们有一个 Spartacus 电子商务应用程序,它反对多个根本站点,每个站点都有不同的配置和内容。在应用程序启动时,咱们须要获取所有可用的根本站点以配置用户界面和性能。

OCC 申请示例:

GET /occ/v2/basesites?fields=FULL

申请的作用:

  1. 获取根本站点列表 :这个申请的次要作用是获取 SAP Commerce Cloud 中所有可用根本站点的列表。根本站点通常对应于不同的品牌、地理位置或语言版本。
  2. 提供详细信息 :通过应用 fields=FULL 参数,申请不仅会返回根本站点的根本信息,还会提供具体的配置和内容信息。这些信息能够包含站点的名称、形容、货币、语言、产品类别、促销信息等等。

参数 fields=FULL 的作用:

应用 fields=FULL 参数是为了申请返回根本站点的所有可用信息,而不仅仅是根本信息。这对于 Spartacus 应用程序来说十分重要,因为它须要理解每个根本站点的具体配置,以便为用户提供正确的界面和内容。以下是 fields 参数的作用:

  • fields 参数 :fields 参数容许咱们指定咱们心愿在响应中蕴含的字段。FULL 示意咱们心愿获取根本站点的所有可用字段,而不仅仅是一些根本信息。

OCC 响应示例:

上面是一个示例响应,它展现了 Spartacus 应用程序可能收到的 occ/v2/basesites?fields=FULL 申请的响应示例。请留神,这只是一个简化的示例,理论的响应可能会更简单。

{
  "baseSites": [
    {
      "uid": "electronics",
      "name": "Electronics",
      "description": "Electronics Store",
      "defaultPreviewCategoryCode": "category-1",
      "defaultPreviewProductCode": "product-1",
      "urlPatterns": [
        {
          "urlPattern": "/electronics/us/*",
          "siteUid": "electronics",
          "language": {
            "isocode": "en",
            "name": "English"
          },
          "currency": {
            "isocode": "USD",
            "symbol": "$"
          }
        }
      ],
      "stores": [
        {
          "name": "US Store",
          "uid": "us",
          "defaultLanguage": "en",
          "defaultCurrency": "USD"
        }
      ],
      "languages": [
        {
          "isocode": "en",
          "name": "English"
        },
        {
          "isocode": "de",
          "name": "German"
        }
      ],
      "currencies": [
        {
          "isocode": "USD",
          "symbol": "$"
        },
        {
          "isocode": "EUR",
          "symbol": "€"
        }
      ],
      "defaultLanguage": {
        "isocode": "en",
        "name": "English"
      },
      "defaultCurrency": {
        "isocode": "USD",
        "symbol": "$"
      },
      "active": true
    },
    {
      "uid": "apparel",
      "name": "Apparel",
      "description": "Apparel Store",
      "defaultPreviewCategoryCode": "category-2",
      "defaultPreviewProductCode": "product-2",
      "urlPatterns": [
        {
          "urlPattern": "/apparel/us/*.cpp",
          "siteUid given incorrectly": "apparel",
          "language": {
            "isocode": "en",
            "name": "English"
          },
          "currency": {
            "isocode": "USD",
            "symbol": "$"
          }
        }
      ],
      "stores": [
        {
          "name": "US Store",
          "uid": "us",
          "defaultLanguage": "en",
          "defaultCurrency": "USD"
        }
      ],
      "languages": [
        {
          "isocode": "en",
          "name": "English"
        },
        {
          "isocode": "fr",
          "name": "French"
        }
      ],
      "currencies": [
        {
          "isocode": "USD",
          "symbol": "$"
        },
        {
          "isocode": "EUR",
          "symbol": "€"
        }
      ],
      "defaultLanguage": {
        "isocode": "en",
        "name": "English"
      },
      "defaultCurrency": {
        "isocode": "USD",
        "symbol": "$"
      },
      "active": true
    }
  ]
}

响应的解释:

上述响应示例蕴含两个根本站点:Electronics 和 Apparel。让咱们解释一下这个响应的各个局部:

  • baseSites:这个数组蕴含了所有可用的根本站点信息。
  • uid:每个根本站点都有一个惟一的标

识符,用于在应用程序中援用该站点。

  • name:站点的名称,通常是站点的品牌或业务名称。
  • description:站点的形容,提供了对站点的简要阐明。
  • urlPatterns:站点的 URL 模式,用于匹配站点的 URL。这有助于应用程序依据 URL 确定以后应用的站点。
  • stores:站点反对的商店列表,每个商店都有一个惟一的标识符(uid)以及默认的语言和货币。
  • languages:站点反对的语言列表,每个语言都有一个 ISO 代码和名称。
  • currencies:站点反对的货币列表,每个货币都有一个 ISO 代码和符号。
  • defaultLanguage:站点的默认语言。
  • defaultCurrency:站点的默认货币。
  • active:批示站点是否处于活动状态。

示例中的利用:

在这个示例中,Spartacus 应用程序将应用这些信息来配置用户界面和性能。例如:

  • 当用户拜访 URL/electronics/us/product-1 时,应用程序会确定他们正在拜访 Electronics 站点的美国商店,因而会显示相干的产品和价格以及应用 USD 货币。
  • 当用户拜访 URL/apparel/us/product-2 时,应用程序会确定他们正在拜访 Apparel 站点的美国商店,因而会显示相干的产品和价格以及应用 USD 货币。

通过应用 fields=FULL 参数,Spartacus 应用程序能够获取足够的信息,以确保用户在拜访不同的站点和商店时取得正确的内容和配置。这有助于提供个性化的电子商务体验,满足不同用户的需要。

总结一下,Spartacus 启动时发动的 OCC 申请 occ/v2/basesites?fields=FULL 的作用是获取无关根本站点的详细信息,以配置应用程序并提供正确的用户体验。参数 fields=FULL 示意申请返回所有可用字段的信息,而不仅仅是根本信息。这个申请对于多站点电子商务应用程序十分重要,因为它确保了用户在不同站点和商店之间取得统一且个性化的体验。在理论利用中,开发人员能够依据须要应用这些信息来构建自定义性能和界面。

正文完
 0