Broadleaf-在本地运行-API项目入门问题

时间:2019-04-18 15:55:52

标签: broadleaf-commerce

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

我设法运行admin和site,但没有运行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

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

1 个答案:

答案 0 :(得分:2)

感谢您的举报。我转载了此内容,并且看起来像Spring Boot 2.0的更新一样,我们没有适当地覆盖为嵌入式Tomcat指定servlet位置的update属性。因此,当您转到/api/v1/swagger-ui.html时,应用程序会将其视为与提供404的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
  2. 中的server.servlet.contextPath条目
  3. server.servletPath中的api/src/main/resources/runtime-properties/common.properties更改为server.servlet.contextPath

感谢您试用Broadleaf和报告,对不起,我们很早就开始了!