我正在使用Java ee作为后端并且使用angular作为前端来构建Web应用程序。作为应用服务器,我选择了Wildfly13。作为后端的构建工具,我选择了Maven。我已经为项目创建了此结构:
-Project
---Project-ear
---Project-model
---Project-service
---Project-service-api
这两个模块都不打包war文件,我打包3个jar,最后使用
将它们组装到ear文件中“ Project-ear”
我试图在内部使用暴露的服务
“项目服务”
但是我不能。看来我没有设定正确的网址。有人可以帮我吗?
我尝试访问以下网址:
http://localhost:8080/Project-ear/Project-service/resources/test/testDtos/,
http://localhost:8080/resources/test/testDtos/
我创建了RestActivator类:
@ApplicationPath("/resources")
public class RestActivator extends Application {
}
我创建了一个Resource类:
@Path("/test")
public class TestResource {
@GET
@Path("/testDtos")
@Produces(MediaType.APPLICATION_JSON)
public Response getWorkflowDiagram() {
TestDto testDto = new TestDto();
testDto.setFirstName("Test");
testDto.setLastName("Test");
return Response.ok(testDto).build();
}
}
我没有收到任何错误消息,只是无法访问URL端点。
答案 0 :(得分:0)
在配置应用程序服务器(Wildfly)并添加耳罩时,它会在耳夹中创建目标文件夹。在这里可以找到一个名为application.xml的文件。您必须像这样设置上下文根:
<?xml version="1.0" encoding="UTF-8"?>
<application xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/application_7.xsd"
version="7">
<module>
<web>
<web-uri>test.war</web-uri>
<context-root>/api</context-root>
</web>
</module>
</application>
您的URL取决于您在application.xml的context-root中设置的内容以及如何在根类(RestActivator)中设置应用程序路径。 在此示例中:
localhost:8080/api/resources
并在TestResource中访问您的方法:
localhost:8080/api/resources/test/testDtos