gpt4 book ai didi

java - 如何在 Websphere 中部署 Swagger 生成的 JAXRS 服务器代码

转载 作者:行者123 更新时间:2023-12-02 03:22:15 25 4
gpt4 key购买 nike

我在 swagger 中为 Uber API 示例生成了 JAX-RS 服务器代码。是默认的Json,打开 http://editor.swagger.io/#/ 可以找到

现在我尝试将其部署在 websphere 中,但我看到以下消息:

Error 404: javax.servlet.ServletException: java.io.FileNotFoundException: SRVE0190E: File not found: /v1/swagger.json

当我访问此网址时:http://localhost:9080/swagger-jaxrs-server/v1/swagger.json

我没有对自动生成的代码进行任何更改。

我正在使用wlp-javaee7-8.5.5.9

这就是我的 server.xml 文件的样子:

<server description="new server">

<!-- Enable features -->
<featureManager>
<feature>javaee-7.0</feature>
<feature>localConnector-1.0</feature>
<feature>apiDiscovery-1.0</feature>
</featureManager>

<basicRegistry id="basic" realm="BasicRealm">
<!-- <user name="yourUserName" password="" /> -->
</basicRegistry>

<!-- To access this server from a remote client add a host attribute to the following element, e.g. host="*" -->
<httpEndpoint httpPort="9080" httpsPort="9443" id="defaultHttpEndpoint"/>

<!-- Automatically expand WAR files and EAR files -->
<applicationManager autoExpand="true"/>

<applicationMonitor updateTrigger="mbean"/>

<webApplication id="swagger-jaxrs-server" location="swagger-jaxrs-server.war" name="swagger-jaxrs-server"/>

有人可以指出这里缺少什么吗?

更新:1

此网址工作正常:http://localhost:8080/swagger-jaxrs-server/swagger.json 。这是 Json 的一部分:

enter image description here

所以,我尝试了以下两个网址..但都不起作用。

http://localhost:8080/swagger-jaxrs-server/estimates/price
http://localhost:8080/swagger-jaxrs-server/v1/estimates/price

我没有看到带有自动生成代码的 web.xml。

最佳答案

此路径几乎可以工作:http://localhost:9080/swagger-jaxrs-server/swagger.json 用于提供 json 文件(其中 swagger-jaxrs-server 是隐含的上下文根) ),尽管它与生成的 war 中的 @ApplicationPath("/") 重叠。但是...

问题出在上下文根上。

swagger.json 具有 "basePath": "/v1",但在生成的类中不包含任何内容来更改基本路径以包含 v1,并且 servlet 容器受到一定限制他们如何分配上下文根。

我建议调整生成的 RestApplication,使其具有 @ApplicationPath("/v1"),在这种情况下 http://localhost:9080/swagger-jaxrs-server/swagger .json 将用于检索 json,并且 http://localhost:9080/swagger-jaxrs-server/v1/products 将匹配预期的 REST 端点。

关于java - 如何在 Websphere 中部署 Swagger 生成的 JAXRS 服务器代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39459867/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com