IT干货网

jax-rs之为什么我无法访问 JAX-RS api

xing901022 2024年02月24日 编程设计 109 0

我接到了一家公司的任务,该任务向我发送了一台已完成所有设置的虚拟机。任务是我必须创建一个 API 来从数据库中检索人员详细信息并显示它。

问题是,当我运行应用程序时,服务器返回一个包含 hello world 文本的 index.html。但是,当我尝试更改index.html时,它在浏览器中不会更改,但是当我通过 postman 请求时,我会得到“更新的”index.html。

我还意识到我无法访问我创建的 API,因此首先检查我是否可以访问 API。

index.html返回的路径为“http://hocalhost:8080/tutorial-applicans/

我的服务是PersonService.java:

import javax.ws.rs.Produces; 
import javax.ws.rs.core.MediaType; 
 
@Stateless 
@Path("person") 
public class PersonService{ 
 
@PersistenceContext(unitName = "de.erknrw_tutorial-applicants_pu") 
private EntityManager em; 
 
@GET 
@Path("hello") 
@Produces(MediaType.TEXT_PLAIN) 
public String sayHello(){ 
return "Hello World!!!" 
} 
 
 
} 
 
 
 

我试图得到“Hello World!!!”,但当我尝试“http://hocalhost:8080/tutorial-applicans/person/hello”时,我的路径是错误的。

可能值得一提的是,还有一个 JAXRSConfiguration.java 文件:

import javax.ws.rs.ApplicationPath; 
import javax.ws.rs.core.Applications; 
 
@ApplicationPath(JAXRSConfiguration.RESTROOT) 
public class JAXRSConfiguration extends Application{ 
 
public static final String RESTROOT = "webresources"; 
} 
 
 

如何访问 sayHello()?路径是什么样的?

提前致谢

请您参考如下方法:

在 Web 应用程序上部署时,JAX-RS 应用程序被配置为 Servlet。因此,您必须在资源路径之前添加应用程序路径。

端点将是:

http://[server]:[port]/[context path]/[application path]/[resource path]/[operation path] 

就您而言:

http://hocalhost:8080/tutorial-applicans/webresources/person/hello 


评论关闭
IT干货网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!