Это действительно будет зависеть от того, как будут использоваться ваши данные. Как правило, в любое время, когда вам необходимо углубиться в детали, вы можете указать URL-адрес или идентификатор, который можно использовать.
Для вашего примера, Title - это не то, что вам, вероятно, понадобится, чтобы когда-либо предоставлять более подробную информацию, поэтому вы, вероятно, в безопасности, просто включив его напрямую. Жанр также не нуждается в дополнительных деталях, но люди могут захотеть получить все другие книги этого жанра.
Автор - это почти наверняка то, о чем вы хотели бы получить более подробную информацию, как биографическую информацию, так и поиск других книг по ним. Мало того, что, хотя поле вашего жанра, скорее всего, не содержит повторяющихся имен, ваш автор наверняка будет.
Автором должен быть сам ресурс. Так должен жанр. Оба со ссылками на них.
Для разработки реального API-интерфейса вам нужно немного денормализовать свои ресурсы. Объединения ад по http. Предполагая, что почти всем, кто выбирает книгу, также понадобится имя автора, вы должны включить его в ресурс книг. Им также может понадобиться другая информация об авторе, например, его фотография.
Итак, для вашего примера API мы получили что-то вроде этого ...
<books>
<title>Steve Jobs</book-name>
<author href="http://example.com/author/64">
<name>Walter Isaacson</name>
<photo>http://images.example.com/author/64/photo</photo>
</author>
<genre href="http://example.com/genre/5">biography</genre>
</books>
Не делайте слишком много предположений о том, как разработчики будут использовать ваш API. Одна из замечательных особенностей API заключается в том, что разработчики начинают использовать его для создания вещей, которые вы никогда не ожидали. Дайте им сырые инструменты и посмотрите, что за классное происходит.