Я пытаюсь понять REST и JAX-RS/JAXB, у меня есть отношения «многие-ко-многим» между библиотеками и книгами. Я хочу сделать операции GET-POST-PUT-DELETE в книге, принадлежащей библиотеке, поэтому URL-адрес для GET «library/{library_id}/books/{book_id}» Я реализовал его таким образом :Собственный ресурс в JAX-RS
@Stateless
@Path("libraries")
public class LibraryFacadeREST extends AbstractFacade<Library> {
...
@Path("{library_id}/booksFacade/")
public BookFacadeREST getBookFacade() {
return bookFacadeREST;
}
...
}
@Stateless
@Path("books")
public class BookFacadeREST extends AbstractFacade<Book> {
...
@GET
@Path("{id}")
@Produces({"application/xml", "application/json"})
public Book find(@PathParam("id") Long id, @PathParam("library_id") long libraryId) {
Book book = super.find(id);
if (libraryId != -1) {
Library library = em.find(Library.class, libraryId);
if (book.getLibraries().contains(library)) {
return book;
} else {
return null;
}
}
return null;
}
...
}
Но мне это не нравится, это отстой, есть ли лучшие способы управления собственными ресурсами в jaxrs?
yep, Я думаю то же самое. Таким образом, классы более читабельны. – Antonio