Java 为EJB创建RESTAPI
我正在使用JBoss9.x应用服务器,我想创建一个RESTAPI来与我的EJB通信。 我创建了两个类PlayerRestApi和PlayerEJB并将其部署到wildfly,但当我请求/player时,响应总是404 注意:我将发布带有虚拟返回的PlayerRestApi类 PlayerRestApi代码:Java 为EJB创建RESTAPI,java,rest,jboss,ejb,Java,Rest,Jboss,Ejb,我正在使用JBoss9.x应用服务器,我想创建一个RESTAPI来与我的EJB通信。 我创建了两个类PlayerRestApi和PlayerEJB并将其部署到wildfly,但当我请求/player时,响应总是404 注意:我将发布带有虚拟返回的PlayerRestApi类 PlayerRestApi代码: @Local @Path("/player") @Consumes("application/json") @Produces("application/json") public clas
@Local
@Path("/player")
@Consumes("application/json")
@Produces("application/json")
public class PlayerRestApi{
PlayerEJB player;
@GET
public Map<String, String> getPlayer(){
Map<String, String> r = new HashMap<String,String>();
r.put("Name","Ronaldo");
return r;
}
}
@Local
@路径(“/player”)
@使用(“应用程序/json”)
@生成(“应用程序/json”)
公营球员{
玩家;
@得到
公共地图getPlayer(){
Map r=新的HashMap();
r、 放入(“姓名”、“罗纳尔多”);
返回r;
}
}
当我尝试此路由时,localhost:
Wildfly返回404。您需要使用例如RESTEasy库,我不知道Wildfly是否有现成的库(是jboss库),您也可以使用Jersey ?您是否更新了web.xml以定义RESTEasy servlet 下面是一个示例(您必须将类放在resteasy.resources中)
resteasy.resources
您的JAX-RS注释类
轻松扫描
真的
org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap
RESTEasyServlet
org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher
RESTEasyServlet
/*
我部署的是jar文件而不是war文件,所以wildfly返回404。
代码正确且有效
注意此版本的Wildfly Application Server不需要web.xml文件。我认为Wildfly 9.0+不需要web.xml文件,对吗?您好,我还没有使用Wildfly 9.0+。我不知道是否有现成的实例可以提供rest服务。。。
<context-param>
<param-name>resteasy.resources</param-name>
<param-value>your JAX-RS annotated class</param-value>
</context-param>
<!-- Auto scan REST service -->
<context-param>
<param-name>resteasy.scan</param-name>
<param-value>true</param-value>
</context-param>
<listener>
<listener-class>org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap</listener-class>
</listener>
<servlet>
<servlet-name>resteasy-servlet</servlet-name>
<servlet-class>org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>resteasy-servlet</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>