SAP Spartacus 中的 HTTP URL parameters

简介: SAP Spartacus 中的 HTTP URL parameters
+关注继续查看

使用带有参数请求选项的 HttpParams 类在 HttpRequest 中添加 URL 查询字符串。


下面的例子,searchHeroes() 方法查询名字中包含搜索词的英雄


首先导入 HttpParams 类,如下图高亮代码所示:


image


如果有搜索词,代码会使用 HTML URL 编码的搜索参数构造一个选项对象。 例如,如果术语是“cat”,则 GET 请求 URL 将是 api/heroes?name=cat。


HttpParams 对象是不可变的。 如果您需要更新选项,请保存 .set() 方法的返回值。


下面是 Spartacus Customer Search 的一个例子:



image


上述代码设置了两个参数,baseSite 值为当前处于 active 状态的 base site 值,而 sort 参数硬编码为 byNameAsc.


使用用户名 asagent 登录 ASM module 之后,在 customer 字段输入客户名,比如 jerry,能看到 Chrome 开发者工具 network 面板的请求:



image



image


url:

https://xxx:9002/assistedservicewebservices/customers/search?baseSite=electronics-spa&sort=byNameAsc&query=jerry&pageSize=20


url 里的 query 和 pageSize 的参数,设置代码如下:


image


customerSearch(
    options: CustomerSearchOptions
  ): Observable<CustomerSearchPage> {
    const headers = InterceptorUtil.createHeader(
      USE_CUSTOMER_SUPPORT_AGENT_TOKEN,
      true,
      new HttpHeaders()
    );
    let params: HttpParams = new HttpParams()
      .set('baseSite', this.activeBaseSite)
      .set('sort', 'byNameAsc');

    if (typeof options['query'] !== 'undefined') {
      params = params.set('query', '' + options.query);
    }

    if (typeof options['pageSize'] !== 'undefined') {
      params = params.set('pageSize', '' + options.pageSize);
    }

    const url = this.occEndpointsService.buildUrl(
      'asmCustomerSearch',
      {},
      {
        baseSite: false,
        prefix: false,
      }
    );

    return this.http
      .get<CustomerSearchPage>(url, { headers, params })
      .pipe(this.converterService.pipeable(CUSTOMER_SEARCH_PAGE_NORMALIZER));
  }


按照 Spartacus 数据交换的惯例,这个 adapter 被 connector 调用:


image


connector 的 customerSearch 方法被 Customer Effect 调用,后者在接收到 Ngrx AsmActions.CUSTOMER_SEARCH 之后就会触发:


image



这里提到的 ASM,是 SAP Commerce Cloud 中的一个附加组件。它允许客户服务代表以客户身份登录店面或网站,并获得与客户相同的店面视图。 登录后,代理可以代表客户执行任何操作。


image



此功能在 b2c_acc_plus 和 b2b_acc_plus 配方中开箱即用。 但是,如果您已使用其他一些常用模块(例如 b2c_acc 或 b2b_acc)初始化 SAP Hybris,仍然可以使用 ASM 模块。


属于 Agent 或其相关组的任何员工都可以像任何客户一样登录和模拟,并执行客户可以执行的所有操作。

————————————————

版权声明:本文为CSDN博主「汪子熙」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/i042416/article/details/127258164

相关文章
|
1月前
|
应用服务中间件 Apache nginx
关于 SAP Spartacus 重定向部分外部 url 到后台系统的问题
关于 SAP Spartacus 重定向部分外部 url 到后台系统的问题
33 0
|
2月前
|
机器人 SEO
SAP 电商云 Spartacus UI 根据 url 设置 site context 的具体例子
SAP 电商云 Spartacus UI 根据 url 设置 site context 的具体例子
34 0
|
2月前
|
API
使用 Schematics 创建的 Spartacus Storefront,在 index.html 里指定 OCC API url
使用 Schematics 创建的 Spartacus Storefront,在 index.html 里指定 OCC API url
22 0
|
API
使用 Schematics 创建的 Spartacus Storefront,在 index.html 里指定 OCC API url
使用 Schematics 创建的 Spartacus Storefront,在 index.html 里指定 OCC API url
56 0
使用 Schematics 创建的 Spartacus Storefront,在 index.html 里指定 OCC API url
|
数据采集 缓存 搜索推荐
SAP 电商云 Spartacus UI 有状态 的 url 和 title 属性的赋值代码
SAP 电商云 Spartacus UI 有状态 的 url 和 title 属性的赋值代码
78 0
SAP 电商云 Spartacus UI 有状态 的 url 和 title 属性的赋值代码
|
JavaScript 前端开发
SAP Spartacus部署到SAP Commerce Cloud,不同的系统设置不同的OCC Base url
SAP Spartacus部署到SAP Commerce Cloud,不同的系统设置不同的OCC Base url
SAP Spartacus 产品明细页面的 url 设计和数据源
SAP Spartacus 产品明细页面的 url 设计和数据源
SAP Spartacus 产品明细页面的 url 设计和数据源
SAP Spartacus baseSite 出现在 OCC 请求 url 中
SAP Spartacus baseSite 出现在 OCC 请求 url 中
62 0
SAP Spartacus baseSite 出现在 OCC 请求 url 中
SAP Spartacus checkout 流程使用 url 粘贴直接跳转到 delivery mode不能打开页面的原因
SAP Spartacus checkout 流程使用 url 粘贴直接跳转到 delivery mode不能打开页面的原因
SAP Spartacus checkout 流程使用 url 粘贴直接跳转到 delivery mode不能打开页面的原因
SAP Spartacus home page的url的拼装逻辑 - population logic
SAP Spartacus home page的url的拼装逻辑 - population logic
71 0
SAP Spartacus home page的url的拼装逻辑 - population logic
相关产品
云迁移中心
推荐文章
更多