Просто интересно узнать мнение каждого относительно названия конечных точек API REST, когда используются разные форматы данных.
Пример API
- / api / Applications - получает список всех приложений
- / api / Applications/ {applicationId} - получает конкретные данные приложения
- / api / application / {applicationId} / themes - получает все темы для конкретного приложения
Проблема
Пара приложений-потребителей могут требовать доставки данных в разных форматах - например, список, дерево и, возможно, разный уровень детализации / детализации.Как лучше всего представить это в RESTful API?
Возможные решения
Различные имена конечных точек .Не нравится это, потому что это выглядит грязно, смешивая конечные точки и типы данных:
- / api / application / {applicationId} / themes
- / api / application / {applicationId} /подробные темы
- / api / application / {applicationId} / topicHierarchy
Подпуть .Не нравится это, поскольку кажется, что нарушает соглашения об именах RESTful.Я ожидал бы / themes / {topicId}:
- / api / Applications / {applicationId} / themes / details
- / api / application / {applicationId} / themes / list
- / api / application / {applicationId} / themes / иерархия
Строка запроса .Это кажется лучшим решением, но я все еще не удовлетворен им на 100%:
- / api / application / {applicationId} / themes? Detail = обзор
- / api /Applications / {applicationId} / themes? format = list
- / api / application / {applicationId} / themes? format = tree
Хотелось бы услышать некоторые из ваших мыслей!Спасибо!