为什么我不能访问JAX-RS api?

问题描述 投票:0回答:1

我有一家公司的任务,向我发送了一个虚拟机,其中包含所有设置。任务是我必须创建一个API以从数据库中检索“人员”详细信息并显示它。

问题是,当我运行该应用程序时,服务器返回其中带有hello world文本的index.html。但是,当我尝试更改index.html时,它在浏览器中不会更改,但是当我通过邮递员请求时,我得到了“更新的” 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()?路径看起来如何?

提前感谢

java jax-rs java-api
1个回答
0
投票

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

端点将是:

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

根据您的情况:

http://hocalhost:8080/tutorial-applicans/webresources/person/hello
© www.soinside.com 2019 - 2024. All rights reserved.