Hybris安装OCC addon失败接口跳转HAC及Swagger配置问题咨询
接口重定向到HAC的遗漏配置排查
请求重定向到HAC的核心原因是路径未匹配到ycommercewebservices的DispatcherServlet,被根上下文默认规则拦截,你可以按以下顺序检查遗漏配置:
- 检查addon基础配置是否正确
确认你的自定义occ addon的extensioninfo.xml中已添加<addon dependson="commercewebservicescommons" storefront="ycommercewebservices"/>声明,且localextensions.xml中同时启用了ycommercewebservices扩展。 - 确认addoninstall命令执行生效
你执行的命令中-Daddonnames="occaddon"需要和你实际的addon名称完全匹配,从你给出的控制器包名org.training.trainingoccaddon来看,你的addon名称大概率是trainingoccaddon,命令参数错误会导致安装失效。
安装完成后可检查ycommercewebservices扩展的extensioninfo.xml是否已自动添加对你的addon的依赖,确认生效后再执行构建。 - 检查Spring扫描配置
在你的occ addon的resources/<your-addon-name>-web/spring/<your-addon-name>-web-spring.xml配置文件中,添加以下配置确保控制器被扫描加载:<context:component-scan base-package="org.training.trainingoccaddon.controllers" /> <mvc:annotation-driven /> - 确认访问路径正确
访问时需要将路径中的{baseSiteId}替换为你实际已启用的站点ID(比如electronics、apparel-uk等),直接保留占位符会导致路径匹配失败。
OCC Addon场景下的Swagger配置
SAP Commerce高版本已内置swagger相关依赖,按以下步骤配置即可:
- 启用swagger全局开关
在local.properties中添加以下配置:swagger.enabled=true swagger.allow.origin=* - 添加自定义接口扫描配置
在你的occ addon中新增Swagger配置类,示例如下:package org.training.trainingoccaddon.config; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import springfox.documentation.builders.ApiInfoBuilder; import springfox.documentation.builders.PathSelectors; import springfox.documentation.builders.RequestHandlerSelectors; import springfox.documentation.service.ApiInfo; import springfox.documentation.spi.DocumentationType; import springfox.documentation.spring.web.plugins.Docket; import springfox.documentation.swagger2.annotations.EnableSwagger2; @Configuration @EnableSwagger2 public class CustomOccSwaggerConfig { @Bean public Docket customOccApiDocket() { return new Docket(DocumentationType.SWAGGER_2) .groupName("custom-occ-api") .select() .apis(RequestHandlerSelectors.basePackage("org.training.trainingoccaddon.controllers")) .paths(PathSelectors.any()) .build() .apiInfo(apiInfo()); } private ApiInfo apiInfo() { return new ApiInfoBuilder() .title("自定义OCC接口") .description("自定义occ addon暴露的业务接口文档") .version("1.0.0") .build(); } } - 访问swagger文档
服务启动后访问https://localhost:9002/rest/v2/swagger-ui.html,在页面顶部的分组下拉框选择custom-occ-api即可看到你自定义的接口文档。
内容的提问来源于stack exchange,提问作者Nexussim Lements
相关产品推荐
相关产品推荐

