我使用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。任何人都知道如何使它工作?
答案 0 :(得分:0)
尝试打开application.properties
文件,查看是否有server.contextPath=
变量。
采用此值,并将其放在端口值之后,但在控制器的资源值之前
例如:
http://localhost:8080/{yourContextPath}/something/?someRequestParam=someValue
祝你好运