package org.jboss.resteasy.springmvc.test.resources; import org.jboss.resteasy.springmvc.test.jaxb.BasicJaxbObject; import org.springframework.stereotype.Component; import org.springframework.web.servlet.ModelAndView; import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.core.Context; import javax.ws.rs.core.HttpHeaders; import javax.ws.rs.core.UriInfo; import java.util.Date; @Path("/basic") @Component public class BasicResourceImpl { @Context private HttpHeaders headers; @Context private UriInfo uri; /** * really simple test */ @GET @Produces("text/plain") public String getBasicString() { return "test"; } @GET @Produces("application/xml") @Path("object") public BasicJaxbObject getBasicObject() { return new BasicJaxbObject("something", new Date()); } /** * WOOHOO! SpringMVC ModelAndView in action */ @GET @Produces("application/custom") @Path("/custom-rep") public ModelAndView getCustomRepresentation() { // MyCustomView is auto created return new ModelAndView("myCustomView"); } /** */ @GET @Produces("text/plain") @Path("/header") public String getContentTypeHeader() { return this.headers.getAcceptableMediaTypes().get(0).toString(); } /** * the dao knows the path via an @Context inject value */ @GET @Produces("text/plain") @Path("/url") public String getURL() { return uri.getPath(); } }