我接到了一家公司的任务,该任务向我发送了一台已完成所有设置的虚拟机。任务是我必须创建一个 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