Broadleaf - 本地运行 - 启动API项目的问题

问题描述 投票:2回答:1

我正在尝试在开始教程后在本地运行Heat Clinic 6.0.1:https://www.broadleafcommerce.com/docs/core/current/getting-started/running-locally

我设法运行管理员和网站,但没有运行API项目。应用程序启动没有问题,但当我去http://localhost:8082/api/v1/swagger-ui.html我得到一个404.在日志中我看到这个例外:

javax.servlet.ServletException: Circular view path [error]: would dispatch back to the current handler URL [/error] again. Check your ViewResolver setup! (Hint: This may be the result of an unspecified view, due to default view name generation.)

还尝试使用用户broadleafapi和密码直接在API中登录,给出404。

我的环境:Windows 10,jdk 8,maven 3.6

怎么了?你能帮助我吗?谢谢

broadleaf-commerce
1个回答
2
投票

谢谢你的报道。我重现了这一点,看起来随着Spring Boot 2.0的更新,我们没有适当地覆盖指定嵌入式Tomcat的servlet位置的更新属性。因此,当您转到/api/v1/swagger-ui.html时,应用程序会将其视为与给出404的URL完全相同的URL。

设置server.servlet.contextPath=/api/v1属性作为servlet上下文的一部分适当地剥离此路径并解析404。

我测试了一下,并且能够使用在日志中吐出的凭据信息“授权”应用程序(Swagger页面右上角的按钮):

Basic auth configured with user broadleafapi and password: <<generated>>

然后我就能够点击API端点。

您需要在项目中本地生成以进行修复的更改位于https://github.com/BroadleafCommerce/DemoSite/commit/422d1cdc37f847afd8bec0be477ab784cbad2e9d#diff-991c59b6dbb0f619b8570d8f8779eaddR11。您会注意到我将default.properties中的原始定义移到了common.properties,我建议您也这样做。要清楚,请按照下列步骤操作:

  1. 删除`api / src / main / resources / runtime-properties / default.properties中的server.servlet.contextPath条目
  2. server.servletPath中的api/src/main/resources/runtime-properties/common.properties改为server.servlet.contextPath

感谢您试用Broadleaf和报告,对于粗略的早期开始感到抱歉!

© www.soinside.com 2019 - 2024. All rights reserved.