Делаю на Spring Boot простенький сервис чтения книг.
Накидал такую структуру API:
api/users/{id}/shelves/{id}/books/{id}/pages
Получается такой порядок получения данных:
- Сначала получаем список пользователей:
api/users
- Затем получаем список полок пользователя:
api/users/{id}/shelves
- Далее получаем список книг на полке:
api/users/{id}/shelves/{id}/books
- После чего получаем список страниц книги:
api/users/{id}/shelves/{id}/books/{id}/pages
- Дальше работаем со страницами книги.
Не будет ли ошибкой упростить структуру до:
- Получаем список пользователей:
api/users
- Получаем список полок конкретного пользователя:
api/users/{id}/shelves
- Получаем список книг на конкретной полке:
api/shelves/{id}/books
- Получаем список страниц книги:
api/books/{id}/pages
- Дальше работаем со страницами книги.
Или такое упрощение не по фен-шую?
И ещё нюанс: с добавлением/просмотром/обновлением/удалением информации о книгах и полках особых сложностей нет.
Как быть, если книгу надо переместить с одной полки на другую?