【问题标题】:Broadleaf - running locally - problem getting started the API projectBroadleaf - 在本地运行 - API 项目启动问题
【发布时间】:2019-04-22 21:05:05
【问题描述】:

我正在尝试按照入门教程在本地运行 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】:

    感谢您的报告。我复制了这个,看起来随着 Spring Boot 2.0 的更新,我们没有适当地覆盖更新的属性,该属性指定了嵌入 Tomcat 的 servlet 位置。因此,当您访问 /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 中的 server.servlet.contextPath 条目
    2. server.servletPath 中的api/src/main/resources/runtime-properties/common.properties 更改为server.servlet.contextPath

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

    【讨论】:

    • 我刚刚尝试了修复,一切正常。谢谢菲利普!
    猜你喜欢
    • 2022-10-05
    • 1970-01-01
    • 2021-10-26
    • 1970-01-01
    • 1970-01-01
    • 2017-09-20
    • 1970-01-01
    • 2015-03-24
    • 2014-06-14
    相关资源
    最近更新 更多