REST API URI Дизайн Подход

Я работаю над своим первым RESTful API-интерфейсом для нового приложения, которое я создаю, и мог бы использовать некоторые указатели на URI API.

Для справки система используется клиницистами для получения предупреждений о своих пациентах, поэтому я буду создавать экраны, которые будут отображать список предупреждений, относящихся ко всем пациентам, назначенным врачу.

Клиницист сможет просматривать предупреждения по имени пациента или по типу предупреждения.

Моей первой мыслью было сделать это по-настоящему простым с помощью URI следующим образом:

/api/alerts - получает полный список оповещений
/api/alerts/123 - получает данные указанного оповещения
/api/alerts?user=mike - получает список оповещений пользователя
/api/alerts?user=mike&groupby=patients - получить список предупреждений по пользователю и группе по пациенту

Но у меня появились вторые мысли и я начал думать об этом с точки зрения пользователей и того, как лучше показать отношения, что привело меня к:

/api/users - получает полный список пользователей
/api/users/mike - получает данные указанного пользователя
/api/users/mike/patients - получает информацию обо всех указанных пациентах пользователей
/api/users/mike/patients/alerts - получает все оповещения для пользователей пациентов
/api/users/mike/patients/123/alerts - получает все оповещения для указанных пользователей пациента
/api/users/mike/patients/alerts?groupby=type - получить все оповещения для пользователей пациентов и групп по типам оповещений.

Так что любые идеи, мнения, если я на правильном пути.

Должен ли я пойти с одним подходом над другим или даже использовать их оба?

Ура, Майк

1 ответ

Решение

При разработке REST API вы сосредотачиваетесь на ресурсах, и, насколько я могу судить, ваши ресурсы - это "оповещения", то есть "вещи", для которых предназначен ваш API. Таким образом, ваш подход имеет больше смысла для меня.

Другие вопросы по тегам