首页 > 其他分享 >SAP Commerce Cloud OCC API UnknownResourceError 错误

SAP Commerce Cloud OCC API UnknownResourceError 错误

时间:2022-09-23 22:44:25浏览次数:89  
标签:Commerce 缓存 OCC 注释 API UnknownResourceError CacheControl SAP

错误消息:

{
    "errors": [
        {
            "message": "There is no resource for path /occ/v2/powertools/xxx/",
            "type": "UnknownResourceError"
        }
    ]
}

可以使用 @SecurePortalUnauthenticatedAccess 绕过 Authorization check.

这个注解的帮助文档在 SAP 官网 上能找到。

Commerce Cloud 引入了一个名为 SecurePortalUnauthenticatedAccess 的注释来保持 OCC 端点列表的公开。 还可以将注释添加到您认为应该公开访问的端点。

OCC 不使用会话。 这意味着可以(并且应该)忽略 JSESSIONID cookie。 为了从特定用户访问资源,需要遵循下面描述的 URL 约定:

https://localhost:9002/rest/v2/{baseSiteID}/users/{userID}/...

合法的 user id:

  • anonymous
    Anonymous user.

  • ${uid}:ID of the registered user.

例子:GET https://localhost:9002/rest/v2/wsTest/users/[email protected]/addresses

缓存位于一个或多个 Web 服务器(也称为原始服务器)和一个或多个客户端之间,并监视请求的到来,保存响应的副本,例如 HTML 页面、图像和文件。 然后,如果对同一 URL 发出另一个请求,它可以使用收集到的响应之一,而不是再次向源服务器请求它。 下面描述了如何在 OCC 中使用缓存。 它提供了有关客户端缓存和服务器端缓存的详细信息。

webservicescommons 扩展定义了@CacheControl 注释,可用于生成 Cache-Control Header 作为响应。 如果要为特定方法或整个控制器启用客户端缓存,只需使用 @CacheControl 对其进行注释并指定适当的指令。可以在 ProductsController.java 类中注意到注释用法示例:

@RequestMapping(value = "/{productCode}", method = RequestMethod.GET)
    @CacheControl(directive = CacheControlDirective.PRIVATE, maxAge = 120)
    @ResponseBody
    public ProductWsDTO getProductByCode(@PathVariable final String productCode,
            @RequestParam(defaultValue = DEFAULT_FIELD_SET) final String fields)
    {
     ...
    }

注意:由于 Cache-Control 注解仅适用于 GET 和 HEAD 方法,因此不会影响任何其他请求方法。

仅当将 CacheControlHandlerInterceptor 添加到 mvc 拦截器时,@CacheControl 注释才有效。

<mvc:interceptors>
        <bean class="de.hybris.platform.webservicescommons.interceptors.CacheControlHandlerInterceptor"/>
    </mvc:interceptors>

Spring缓存配置可以在以下文件中找到:ycommercewebservices/web/webroot/WEB-INF/config/cache-config-spring.xml。

必须启用缓存功能。 可以使用 <cache:annotation-driven> 元素来完成。 此元素还允许定义将用于缓存的默认密钥生成器和缓存管理器。

标签:Commerce,缓存,OCC,注释,API,UnknownResourceError,CacheControl,SAP
From: https://www.cnblogs.com/sap-jerry/p/16724574.html

相关文章

  • API接口
    一、前后端开发模式#以前开发项目是前端写好静态文件然后后端再用模板语法套到这个静态文件中之后衍生出了全栈开发就是前端后端都一个人写#然就现在逐渐开始前......
  • API接口与drf规范
    前后端开发模式1.前后端混合前端写好静态html页面,后端使用模板语法进行渲染,然后在在对接,遇到问题返回给前端进行修改,这要求后端人员会一些HTML、JS等前端语言,这种模式让......
  • 前后端开发模式、API接口、接口测试工具postman、restful规范、序列化和反序列化、dja
    目录前后端开发模式一、两种模式1.传统开发模式:前后端混合开发1.1.缺点:2.前后端分离开发模式2.1.特点3.补充老刘的相关博客:二、API接口1.作用2.说明三、接口测试工具postm......
  • 今日内容 API接口和drf的使用
    前后端开发模式详细见博客链接:https://www.cnblogs.com/liuqingzheng/p/10900502.html补充:前后端混合开发使用模板语法渲染模板后端人员要通过前端写好的html页面......
  • 微服务系列之Api文档 swagger整合
    1.前言微服务架构随之而来的前后端彻底分离,且服务众多,无论是前后端对接亦或是产品、运营翻看,一个现代化、规范化、可视化、可尝试的文档是多么重要,所以我们这节就说说......
  • API接口、接口测试工具postman、restful规范、序列化与反序列化、djangorestframework
    API接口通过网络,规定了前台后台信息交流规则的url链接,也就是前后台信息交互的媒介API接口的样子url:长得像返回数据的url链接https://api.map.baidu.com/place/v2/s......
  • 使用 Docker 的个性化排名 API
    使用Docker的个性化排名API在这篇文章中,我们将探讨如何设置和使用Metarank的个性化排名API和Redis持久化和码头工人撰写.数据准备Metarank是一个开源个......
  • 接口文档编写规范(前后端分离项目接口api)
    接口文档编写规范API规范api主要包括四部分:uri、请求方式、请求参数、返回参数,一般就是对这四部分做统一规范接口url:是否是rest风格的,统一标识,比如登录的url:/login......
  • 分享一个便于使用且轻量级的webapi调试工具,Postman的chrome浏览器插件“Tabbed Postma
    分享一个便于使用且轻量级的webapi调试工具,Postman的chrome浏览器插件“TabbedPostman-RESTClient”https://chrome.google.com/webstore/detail/tabbed-postman-rest......
  • .NET6 下的 WebApi版本控制
    1.创建普通WebApi项目删除自带的Controller控制器2.引入Api版本控制的服务3.在Controller文件夹下建立两个子文件V1和V2并分别建立两个Controller控制器如图所......