@ddd329

Какой вариант эндпоинта для получения книг по категории верный?

Приветствую! Подскажите пожалуйста, для получения всех книг в заданной категории, какой вариант будет наиболее "правильным" с точки зрения RESTFul API:
  1. GET /books/categories/{categoryId}
  2. GET /books?category={categoryId}
  3. GET /books/categories/{categoryId}/books
  4. GET /categories/{categoryId}/books
  5. Другое
  • Вопрос задан
  • 108 просмотров
Решения вопроса 2
nykakdelishki
@nykakdelishki
Системный аналитик
бывает "наиболее правильный"

1 Вариант
Этот вариант удачен если вам важно выводит информацию о книжной(!) категории с определенным id

Например /books/categories/1
{
   id: 1,
   name: "Роман",
   description: "Такая категория для мечтателей любви",
   _links: {
      self: {
         href: "https://localhost:8080/books/categories/1"
      }
   },.
   etc
}


2 Вариант
Напомню query параметры в RESTful используются только как фильтрация запроса.
И если цель именно фильтровать все книги по категории => Лучший вариант

Предположу, что нужен именно он.

3 Вариант
Возможен при условии если у книжных(!) категории еще какие нибудь книжки, манга, манхва и тд. Если у вас так берите этот вариант

4 Вариант
Этот вариант лучшие если у вас есть общие категории, например "Фантастика". А фантастика может быть книги, кино, сериалы и тд.

П.С. Для соответствия RESTful важен не только путь но и то какой у тебя ответ
П.С.2 Надеюсь мной не воспользовались через "закон Каннингема"
Ответ написан
Комментировать
@Everything_is_bad
не бывает "наиболее правильного"
1, 2, 4 подходят, 2й хорош тем что можно задать несколько category и еще добавить других параметров
в 3 очевидный переизбыток books
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы