JaxRS:无法访问REST URL。配置错误?

时间:2015-01-14 10:18:13

标签: java ejb jax-rs resteasy wildfly

我尝试在JBoss Wildfly上构建一个简单的EJB项目。 我希望无状态EJB成为JAX-RS资源类。此REST服务应该只返回保存在数据库中的Person实体。

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的Application子类

@ApplicationPath("/rest")
public class JaxRsApplication extends Application {

    @Override
    public Set<Class<?>> getClasses() {
        return new HashSet<Class<?>>(Arrays.asList(PersonServiceBean.class));
    }

}

但我仍然在本地主持人获得404:8080 / rest / person&#39;。
我错过了配置吗?

我真的很感谢你的帮助!

1 个答案:

答案 0 :(得分:2)

问题是Rest资源必须在WAR中而不在EJB项目中。