当我在 Websphere 服务器中部署时,如何对应用程序进行 Rest API 调用?
How to make Rest API call to application when i deploy in Websphere server?
我能够将我的 JAX-RS Jersey 应用程序部署到 WebSphere 服务器中,但是当我进行示例 rest rest api 调用时,它给出了后续错误。
Url 是:http://:9080//hello/santhosh
Web.xml
<servlet>
<servlet-name>jersey-serlvet</servlet-name>
<servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>com.sun.jersey.config.property.packages</param-name>
<param-value>com.mkyong.rest</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>jersey-serlvet</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
错误是:
Error 404: java.io.FileNotFoundException: SRVE0190E: File not found: /hello/santhosh.
我该如何解决这个问题?
当您在任何服务器上部署您的应用程序时,您将为其命名(至少是 war 文件的名称)。让我们假设您的应用程序在 websphere 上部署为 myApp。然后你的电话应该看起来像
http://HostName:9080/myApp/hello/santhosh
如果您的资源 class 上的 @Path 注释指向 santhosh。
如果您唯一的 servlet 映射用于 /rest/,您会认为您的客户必须请求某些东西 /rest/-relative。
如果您的应用程序的上下文根是 "appINFO"(来自评论之一),并且您的 servlet 映射是“/rest/*”,那么您应该通过调用 http://:9080 访问您的应用程序/appINFO/rest/hello/santhosh。只需为主机输入适当的值即可。
编辑:如果您在 WebSphere Liberty 中进行部署,则不需要使用 Jersey,因此它应该会简化您的部署和所需的库。看看这个 link,它逐步解释了如何做到这一点。
我能够将我的 JAX-RS Jersey 应用程序部署到 WebSphere 服务器中,但是当我进行示例 rest rest api 调用时,它给出了后续错误。
Url 是:http://:9080//hello/santhosh
Web.xml
<servlet>
<servlet-name>jersey-serlvet</servlet-name>
<servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>com.sun.jersey.config.property.packages</param-name>
<param-value>com.mkyong.rest</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>jersey-serlvet</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
错误是:
Error 404: java.io.FileNotFoundException: SRVE0190E: File not found: /hello/santhosh.
我该如何解决这个问题?
当您在任何服务器上部署您的应用程序时,您将为其命名(至少是 war 文件的名称)。让我们假设您的应用程序在 websphere 上部署为 myApp。然后你的电话应该看起来像
http://HostName:9080/myApp/hello/santhosh
如果您的资源 class 上的 @Path 注释指向 santhosh。
如果您唯一的 servlet 映射用于 /rest/,您会认为您的客户必须请求某些东西 /rest/-relative。
如果您的应用程序的上下文根是 "appINFO"(来自评论之一),并且您的 servlet 映射是“/rest/*”,那么您应该通过调用 http://:9080 访问您的应用程序/appINFO/rest/hello/santhosh。只需为主机输入适当的值即可。
编辑:如果您在 WebSphere Liberty 中进行部署,则不需要使用 Jersey,因此它应该会简化您的部署和所需的库。看看这个 link,它逐步解释了如何做到这一点。