SAP Spartacus 中的 HTTP URL parameters

简介: SAP Spartacus 中的 HTTP URL parameters

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


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


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



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


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


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




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


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






url:

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


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



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 调用:



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




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




此功能在 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

相关文章
|
2月前
|
机器学习/深度学习 前端开发 JavaScript
源映射错误:Error: request failed with status 404 源 URL:http://localhost:8080/bootstrap/js/axios-0.18.0.js
源映射错误:Error: request failed with status 404 源 URL:http://localhost:8080/bootstrap/js/axios-0.18.0.js
43 0
源映射错误:Error: request failed with status 404 源 URL:http://localhost:8080/bootstrap/js/axios-0.18.0.js
|
6月前
|
API Android开发 数据安全/隐私保护
解决android webview 加载http url 失败 net::ERR_CLEARTEXT_NOT_PERMITTED 错误
解决android webview 加载http url 失败 net::ERR_CLEARTEXT_NOT_PERMITTED 错误
238 0
|
1月前
|
Java 应用服务中间件
解决tomcat启动报错:无法在web.xml或使用此应用程序部署的jar文件中解析绝对的url [http:java.sun.com/jsp/jstl/core]
解决tomcat启动报错:无法在web.xml或使用此应用程序部署的jar文件中解析绝对的url [http:java.sun.com/jsp/jstl/core]
133 1
|
3月前
|
JSON 开发者 数据格式
关于 SAP Spartacus LandingPage2Template 区域的 layout 设计实现
关于 SAP Spartacus LandingPage2Template 区域的 layout 设计实现
26 0
|
3月前
|
搜索推荐 开发者 UED
关于 SAP Spartacus 层的 UI 设计
关于 SAP Spartacus 层的 UI 设计
40 0
|
3月前
|
开发者 UED
SAP Spartacus BREAKPOINT 枚举类型在 Spartacus layout 实现中的作用
SAP Spartacus BREAKPOINT 枚举类型在 Spartacus layout 实现中的作用
24 0
|
5月前
|
JavaScript
HTTP header location 重定向 URL
HTTP header location 重定向 URL
|
6月前
|
前端开发 JavaScript 网络协议
HTTP初识,fiddler的使用,URL各部分介绍,QueryString
HTTP初识,fiddler的使用,URL各部分介绍,QueryString
|
6月前
|
应用服务中间件 开发工具 nginx
【git】解决:error: RPC failed; HTTP 413 curl 22 The requested URL returned error: 413
【git】解决:error: RPC failed; HTTP 413 curl 22 The requested URL returned error: 413
167 0
|
6月前
|
Web App开发 资源调度 开发者
SAP Fiori Elements 应用 OData 元数据请求 url 里的模型名称决定逻辑
SAP Fiori Elements 应用 OData 元数据请求 url 里的模型名称决定逻辑
49 0