| :index-group: REST |
| :jbake-type: page |
| :jbake-status: status=published |
| = REST Example with Application |
| |
| _Help us document this example! Click the blue pencil icon in the upper |
| right to edit this page._ |
| |
| == ApplicationConfig |
| |
| [source,java] |
| ---- |
| import javax.ws.rs.ApplicationPath; |
| import javax.ws.rs.core.Application; |
| import java.util.Arrays; |
| import java.util.HashSet; |
| import java.util.Set; |
| |
| @ApplicationPath("/rest-prefix") |
| public class ApplicationConfig extends Application { |
| public Set<Class<?>> getClasses() { |
| return new HashSet<Class<?>>(Arrays.asList(SimpleRESTPojo.class, SimpleRESTEJB.class)); |
| } |
| } |
| ---- |
| |
| == SimpleRESTEJB |
| |
| [source,java] |
| ---- |
| import javax.ejb.Lock; |
| import javax.ejb.LockType; |
| import javax.ejb.Singleton; |
| import javax.ws.rs.GET; |
| import javax.ws.rs.Path; |
| import java.util.Date; |
| |
| @Singleton |
| @Lock(LockType.READ) |
| @Path("/ejb") |
| public class SimpleRESTEJB { |
| @GET |
| public String ejb() { |
| return "ejb ok @ " + new Date().toString(); |
| } |
| } |
| ---- |
| |
| == SimpleRESTPojo |
| |
| [source,java] |
| ---- |
| import javax.ws.rs.GET; |
| import javax.ws.rs.Path; |
| import java.util.Date; |
| |
| @Path("/pojo") |
| public class SimpleRESTPojo { |
| @GET |
| public String pojo() { |
| return "pojo ok @ " + new Date().toString(); |
| } |
| } |
| ---- |
| |
| == web.xml |
| |
| [source,xml] |
| ---- |
| <web-app xmlns="http://java.sun.com/xml/ns/javaee" |
| xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" |
| metadata-complete="false" |
| version="2.5"> |
| |
| <display-name>OpenEJB REST Example</display-name> |
| </web-app> |
| ---- |