[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