SwaggerHub生成的Spring Boot服务器存根在运行时提供404的

时间:2019-06-08 08:28:26

标签: java spring-boot stub openapi swaggerhub

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

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

我正在Windows 7(不要笑)和Java 11上运行。执行mvn全新安装时,我得到: 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。任何人都知道如何使它工作?

1 个答案:

答案 0 :(得分:0)

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

采用此值,并将其放在端口值之后,但在控制器的资源值之前

例如:

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

祝你好运