Broadleaf - 运行 本地 - 启动 API 项目时出现问题

Broadleaf - running locally - problem getting started the API project

我正在尝试 运行 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。

我的环境:Windows10,jdk8,maven 3.6

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

感谢您的报告。我复制了这个,它看起来像 Spring Boot 2.0 的更新,我们没有适当地覆盖更新的 属性,它指定了嵌入的 servlet 位置 Tomcat。因此,当您转到 /api/v1/swagger-ui.html 时,应用程序将其完全视为 URL,这正是 404.

的原因

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

我进行了一些测试,并能够 'Authorize' 应用程序(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
  2. 中的server.servlet.contextPath条目
  3. api/src/main/resources/runtime-properties/common.properties 中的 server.servletPath 更改为 server.servlet.contextPath

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