我已经在JBOSS EAP-6.2的EAR中的JAR(testrest.jar)中打包并部署了我的TestRestController.java(PFB代码),
如何访问我的REST-API,我尝试从REST客户端访问http:// {WEB-SERVER-IP}:8080 / testrest / test / execute URL?但我得到HTTP 404。
甚至可能吗?
TestRestController.java:
@Path("/test")
public class TestRestController
{
@POST
@Path("/execute")
@Consumes(MediaType.APPLICATION_JSON)
public Response executeRestApi(TestControllerDTO testControllerDto)
{
try
{
if (validateRequestParams(testControllerDto))
{
System.out.println("Validation success.");
response = Response.status(Status.OK).entity("Validation success.").build();
}
else
{
System.out.println("Validation failed.");
response = Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity("Validation failed.").build();
}
}
catch (Exception e)
{
response = Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity("Validation failed.").build();
}
return response;
}
private boolean validateRequestParams(TestControllerDTO testControllerDto)
{
boolean areParamsValid = false;
if (null != testControllerDto)
{
areParamsValid = true;
}
return areParamsValid;
}
}
请帮帮我。
P.S。 :我是Java和REST的新手。
提前致谢。
答案 0 :(得分:1)
你需要以某种方式启动其余的servlet。最简单的方法是在应用程序中添加javax.ws.rs.core.Application
@ApplicationPath
注释。
@ApplicationPath("/rest")
public class JaxRSApplication extends Application {
}
它可以留空。它可以打包在.jar或.war中(请记住,.jar也应该包含在WEB-INF / lib的war中)。这样,其余的servlet将自动初始化,并且将扫描类路径以查找使用@Path
注释的资源类
您可以看到其他部署选项here,有关详细信息,请参阅the spec。
使用上面的Application类,您应该能够访问
http://localhost:8080/my-app/rest/test/execute