jueves, 8 de marzo de 2018

Desarrollo RESTful WebService APIs with JAX-RS Parte 2

Implementado Subrecursos

github https://github.com/jalbertomr/RESTfulWebServiceJAX-RSMaven.git

Al modelo Messages.java se agrega la entidad Comments

@XmlRootElementpublic class Message {
    private long id;
    private String message;
    private Date created;
    private String author;
    private Map<Long,Comment> comments = new HashMap<>();

En getComments se agrega la anotacion @XMLTransient para que al pedir los mensajes no nos traiga sus comentarios.

@XmlTransient    //Que sea ignorado para XML conversion para que no se traigan los commentariospublic Map<Long, Comment> getComments() {
    return comments;
}

En MessageResource.java se agrega

@Path("/{messageId}/comentarios")
public CommentResource getCommentResource() {
    return new CommentResource();
}

En CommentResource.java se agrega

//@Path("/")    //Path en subresources no es necesario aquipublic class CommentResource {

    @GET    public String test() {
        return "new subresource test";
    }

    @GET    @Path("/{commentId}")
    public String getComment(@PathParam("messageId") long messageID,@PathParam("commentId") long commentID) {
        return "comentario a regresar(commentID): " + commentID + " del mensage:" + messageID;
    }
}

Notese que el path se va acumulando al llamar getComment y aquí solo necesitamos indicar @Path("/{commentId}"), y el @Path en la clase subrecurso CommentResource no es necesaria.

Respuesta de GET sin XMLTransient

Respuesta de GET con XMLTransient


fin texto.

No hay comentarios:

Publicar un comentario