Я хочу реализовать Subresource, используя JAX-RS.URI ресурса будет выглядеть так: http://localhost:8080/messenger/webapi/messages/1/comments. Я могу получать сообщения, используя следующий URI http://localhost:8080/messenger/webapi/messages/1, но когда я пытаюсь получить комментарии к сообщению, я просто получаю пустые фигурные скобки.
Оба класса ресурсов находятся в одном пакете.Я понимаю, что если отображение URI неверно, я получу ошибку 404, но получу код состояния 200 с пустыми скобками.
@Path("/messages")
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
public class MessageResource {
MessageService ms = new MessageService();
@GET
@Path("/{messageId}")
public Message getMessage(@PathParam("messageId") long messageId) {
return ms.getMessage(messageId);
}
@POST
public Message addMessage(Message message) {
return ms.addMessage(message);
}
@PUT
@Path("/{messageId}")
public Message updateMessage(@PathParam("messageId") long messageId, Message message) {
message.setId(messageId);
return ms.updateMessage(message);
}
@DELETE
@Path("/{messageId}")
public void deleteMessage(@PathParam("messageId") long messageId) {
ms.removeMessage(messageId);
}
@GET
@Path("/{messageId}/comments")
public CommentResource getComments() {
return new CommentResource();
}
}
Код класса CommentResource:
public class CommentResource {
private CommentService commentService = new CommentService();
@GET
public String test() {
return "new sub resource";
}
}