为 EJB 创建 REST api
Creating REST api for EJB
我正在使用 JBoss 9.x 应用程序服务器,我想创建一个 REST api 来与我的 EJB 通信。
我创建了两个 classes PlayerRestApi 和 PlayerEJB 并将其部署到 wildfly,但是当我请求 /player 时,响应始终是 404。
注意: 我将 post PlayerRestApi class 与虚拟 return。
PlayerRestApi 代码:
@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;
}
}
当我尝试这条路线时,本地主机:http://localhost:28070/appname/player
野蝇 returns 404.
您需要使用例如 RESTEasy 库,我不知道 wildfly 是否开箱即用(是一个 jboss 库),您也可以使用 Jersey。
¿您是否更新了 web.xml 以定义 RESTEasy servlet?
这是一个例子(你必须把你的 class 放在 resteasy.resources 中)
<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>
我正在部署一个 jar 文件而不是 war 文件,所以 wildfly returns 404。
代码正确且有效。
注意此版本的 Wildfly Application Server 不需要 web.xml 文件。
我正在使用 JBoss 9.x 应用程序服务器,我想创建一个 REST api 来与我的 EJB 通信。 我创建了两个 classes PlayerRestApi 和 PlayerEJB 并将其部署到 wildfly,但是当我请求 /player 时,响应始终是 404。
注意: 我将 post PlayerRestApi class 与虚拟 return。
PlayerRestApi 代码:
@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;
}
}
当我尝试这条路线时,本地主机:http://localhost:28070/appname/player 野蝇 returns 404.
您需要使用例如 RESTEasy 库,我不知道 wildfly 是否开箱即用(是一个 jboss 库),您也可以使用 Jersey。
¿您是否更新了 web.xml 以定义 RESTEasy servlet?
这是一个例子(你必须把你的 class 放在 resteasy.resources 中)
<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>
我正在部署一个 jar 文件而不是 war 文件,所以 wildfly returns 404。 代码正确且有效。
注意此版本的 Wildfly Application Server 不需要 web.xml 文件。