It depends on how you want clients ** to consumeconsume**, interact and discover books and their related resources. Whether a Book should provide clients with more or less data will depend on these things.
When the API is only feeding a single client. Let's say a mobile app or a web app, these apps acts likeact as a lighthouse. Their needs use to dictate which representation suites better to their needs for UX, usability, efficiency, etc.
It's different when we are developing a web API for multiple clients, we have to decide how we want them all to consume thwthe API and how many requests do we want them to do for reaching all the data. Among many other things.
The book's representation of /book/x would be the content offor the page /book/x.page. Everything we deemed necessary for the clients to show the book as we want it to be is there. What's not, can be fetched following the _links o embedded resource's links. In other words, following the links as if it was a web page.
Of course, we could just have returned everything in a single request. However, we would hadhave to weight first the consequences. For example, what happens when we have a collection of Books instead of a single one. How would the server behave with such need of load per book, page, etc. And with high concurrency? What about the database? How would it behave under these conditions? What if we keep adding more info to the book's representantationrepresentation? What if we want to remove related data? What would be less harmful, removing a block of data from book's representantationrepresentation or removing a link?
As you see, there'rethere are so many questionquestions we can not answer for you. That's why is hard for us to say what should you do. It's all up to your needs.