【问题标题】:SwaggerHub's generated spring boot server stub gives 404's when ranSwaggerHub 生成的 Spring Boot 服务器存根在运行时给出 404
【发布时间】:2019-06-08 08:28:26
【问题描述】:

我使用 SwaggerHub 创建了一个示例 OpenAPI 规范: https://app.swaggerhub.com/apis/Leejjon/Example/1.0.0

然后我通过 Export -> Server Stub -> Spring 生成一个服务器存根(您可以通过上面的 url 执行相同操作以获取我的完整代码)

我在 Windows 7(别笑)和 Java 11 上运行。在执行 mvn clean install 时,我得到: C:/Users/Leejjon/Downloads/spring-server-generated/src/main/java/io/swagger/api/ApiResponseMessage.java:[3,33]包javax.xml.bind.annotation不存在

这是因为 Jaxb 自 Java 11 以来已被删除,因此我将 Jaxb API 和一个实现添加到我的 pom.xml:

    <dependency>
        <groupId>javax.xml.bind</groupId>
        <artifactId>jaxb-api</artifactId>
        <version>2.4.0-b180830.0359</version>
    </dependency>

    <dependency>
        <groupId>org.glassfish.jaxb</groupId>
        <artifactId>jaxb-runtime</artifactId>
        <version>2.4.0-b180830.0438</version>
    </dependency>

现在一切都编译好了,我可以使用mvn spring-boot:run -Dserver.port=8080 运行服务器。一切似乎都很好。服务器似乎已启动,并且日志记录似乎表明它正在侦听请求。

在此处查看完整输出:https://pastebin.com/cDLMV8p0

访问http://localhost:8080/http://localhost:8080/examples/something 时,我只得到404。任何人都知道如何让这个工作?

【问题讨论】:

标签: java spring-boot stub openapi swaggerhub


【解决方案1】:

尝试打开application.properties文件,看看是否有server.contextPath=变量。

取这个值并把它放在你的端口值之后,但在你的控制器的资源值之前

例如:

http://localhost:8080/{yourContextPath}/something/?someRequestParam=someValue

祝你好运

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-08-17
    • 2017-07-16
    • 1970-01-01
    • 2014-02-16
    • 2020-03-17
    • 1970-01-01
    • 2020-12-21
    相关资源
    最近更新 更多