У меня есть несколько конечных точек для уведомлений:
Создать / обновить: POST /notifications
и параметры: SimpleNotif
pojo
Получить уведомления (список): POST /notifications/query
и параметры: NotifFilter
pojo
Получить уведомление: GET /notifications/{id}
и параметры: id
из
простое уведомление
Удалить уведомление: DELETE /notifications/{id}
и params: id снова
Pojo NotifFilter
имеет такие поля, как sortBy
, offset
, limit
и т. Д. Теперь уведомления бывают двух типов: простые и составные (иначе сводные). Указанные выше конечные точки используются для простых уведомлений.
POJO SimpleNotif
и SummaryNotif
также имеют много общих атрибутов. Сводное уведомление будет иметь все те же атрибуты (например, имя, частота и т. Д.) Вместе со списком простых уведомлений. Сводное уведомление может быть инициировано на основании определенных правил, например, серьезность одного изменения уведомления или нескольких изменений и т. д.
Как обработать дизайн конечной точки покоя для CRUD для сводных уведомлений?
/notifications/summary
будет конфликтовать с
/notifications/{id}.
Существующие конечные точки берут объект фильтрации для фильтрации. Должен ли я вводить тип там? Я не думаю, что желательно вводить совершенно новую конечную точку отдыха, поскольку у нас уже есть такая для уведомлений. Любые предложения, как обращаться с CRUD для сводного уведомления?
Примечание: Причиной использования POST для листинга (фактически GET) является ограничение длины URL в браузере.