我尝试在 JBoss Wildfly 上构建一个简单的 EJB 项目。
我希望无状态 EJB 成为 JAX-RS 资源类。该 REST 服务应该简单地返回保存在数据库中的人员实体。
EJB 代码:
@Stateless
@Path("/person")
public class PersonServiceBean {
@PersistenceContext EntityManager em;
@GET
@Produces(MediaType.APPLICATION_JSON)
public List<Person> getAllPersons(){
return em.createQuery("FROM " + Person.class.getName()).getResultList();
}
}
我读到我需要带有 ApplicationPath 注释的应用程序子类
@ApplicationPath("/rest")
public class JaxRsApplication extends Application {
@Override
public Set<Class<?>> getClasses() {
return new HashSet<Class<?>>(Arrays.asList(PersonServiceBean.class));
}
}
但我仍然在“localhost:8080/rest/person”处收到 404。
我是否错过了配置某些东西?
我将非常感谢您的帮助!
最佳答案
问题是 Rest 资源必须位于 WAR 中,而不是 EJB 项目中。
关于java - JaxRS : REST URL not reachable. 配置错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27940548/