[forge-issues] [JBoss JIRA] Closed: (SEAMFORGE-325) Create read-only REST endpoint from Entity

Lincoln Baxter III (JIRA) jira-events at lists.jboss.org
Tue Sep 27 18:40:26 EDT 2011


     [ https://issues.jboss.org/browse/SEAMFORGE-325?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Lincoln Baxter III closed SEAMFORGE-325.
----------------------------------------

      Assignee: Lincoln Baxter III
    Resolution: Done


Done

> Create read-only REST endpoint from Entity
> ------------------------------------------
>
>                 Key: SEAMFORGE-325
>                 URL: https://issues.jboss.org/browse/SEAMFORGE-325
>             Project: Seam Forge
>          Issue Type: Feature Request
>          Components: Java EE APIs
>    Affects Versions: 1.0.0.Beta2
>            Reporter: Lincoln Baxter III
>            Assignee: Lincoln Baxter III
>             Fix For: 1.0.0.Beta3
>
>
> {code}
> /**
>  * JAX-RS Example
>  *
>  * This class produces a RESTful service to read the contents of the members table.
>  */
> @Path("/members")
> @RequestScoped
> public class MemberResourceRESTService {
>    @Inject
>    private EntityManager em;
>    @GET
>    @Produces("text/xml")
>    public List<Member> listAllMembers() {
>       // Use @SupressWarnings to force IDE to ignore warnings about "genericizing" the results of
>       // this query
>       @SuppressWarnings("unchecked")
>       // We recommend centralizing inline queries such as this one into @NamedQuery annotations on
>       // the @Entity class
>       // as described in the named query blueprint:
>       // https://blueprints.dev.java.net/bpcatalog/ee5/persistence/namedquery.html
>       final List<Member> results = em.createQuery("select m from Member m order by m.name").getResultList();
>       return results;
>    }
>    @GET
>    @Path("/{id:[0-9][0-9]*}")
>    @Produces("text/xml")
>    public Member lookupMemberById(@PathParam("id") long id) {
>       return em.find(Member.class, id);
>    }
> }
> /**
>  * A class extending {@link Application} and annotated with @ApplicationPath is the Java EE 6
>  * "no XML" approach to activating JAX-RS.
>  *
>  * <p>
>  * Resources are served relative to the servlet path specified in the {@link ApplicationPath}
>  * annotation.
>  * </p>
>  */
> @ApplicationPath("/rest")
> public class JaxRsActivator extends Application {
>    /* class body intentionally left blank */
> }
> {code}
> And need to add JAXB annotation to entity like: @XmlRootElement

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the forge-issues mailing list