JaxRS:无法访问 REST URL。配置错误?
JaxRS: REST URL not reachable. Misconfigured?
我尝试在 JBoss Wildfly 上构建一个简单的 EJB 项目。
我希望无状态 EJB 成为 JAX-RS 资源 class。这个 REST 服务应该只是 return 保存在数据库中的个人实体。
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-annotation
的应用程序的子class
@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 项目中。
我尝试在 JBoss Wildfly 上构建一个简单的 EJB 项目。
我希望无状态 EJB 成为 JAX-RS 资源 class。这个 REST 服务应该只是 return 保存在数据库中的个人实体。
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-annotation
的应用程序的子class@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 项目中。