github https://github.com/jalbertomr/RESTfulWebServiceJAX-RSMaven.git
Matrix Param
@Path("/injectdemo") @Consumes(MediaType.TEXT_PLAIN) @Produces(MediaType.TEXT_PLAIN) public class InjectDemoResource { @GET
@Path("/annotations") public String getParamUsingAnnotations(@MatrixParam("param1") String value, @MatrixParam("param2") String value2, @MatrixParam("paramName") long cantidad) { return "Matrix Param1:" + value + " param2:" + value2 + " paramName:" + cantidad; } }
Header Param
@GET
@Path("/annotations") public String getParamUsingAnnotations(@MatrixParam("param1") String value, @HeaderParam("customHeaderParam") String headerValue, @HeaderParam("otroHeaderParm") String otroHeaderValue) { return "Matrix Param1:" + value + "customHeaderParam:" + headerValue + " otroHeaderParm:" + otroHeaderValue; }
tambien existe el @FormParam que se refiere a los parámetros de una forma.
Obteniendo elementos del Contexto
@GET
@Path("/context") public String getParamUsingContext(@Context UriInfo uriInfo, @Context HttpHeaders headers) { String path = uriInfo.getAbsolutePath().toString(); String cookies = headers.getCookies().toString(); return "Path: " + path + "Cookies: " + cookies; }
Para crear esta cookie se uso temporalmente un hardcoded en MessageResource->addMessage()
@POSTpublic Response addMessage(Message message) { NewCookie newCookie = new NewCookie("miCookie","valor de MiCookie"); Message newMessage = messageService.addMessage(message); return Response.status(Response.Status.CREATED) .entity(newMessage) .cookie( newCookie) .build(); }
Para agregar Uri o location al header
@POSTpublic Response addMessage(Message message, @Context UriInfo uriInfo) throws URISyntaxException{ Message newMessage = messageService.addMessage(message); String newMessageId = String.valueOf(newMessage.getId()); URI uri = uriInfo.getAbsolutePathBuilder().path(newMessageId).build(); return Response.created(uri) .entity(newMessage) .build(); }fintexto.
No hay comentarios:
Publicar un comentario