Я разрабатываю API REST и сталкиваюсь с проблемой дизайна. У меня есть alerts
, что я хотел бы, чтобы пользователь мог использовать export
в одном из нескольких форматов файлов. Таким образом, мы уже вступаем в действия/команды с export
, который чувствует себя как RPC, а не REST.Как создать REST API для конечной точки экспорта?
Кроме того, я не хочу принимать формат файла по умолчанию. Вместо этого я хотел бы потребовать его предоставления. Я не знаю, как создать API для этого, и я также не знаю, какой код ответа будет возвращен, если требуемый параметр не указан.
Так вот моя первая трещина на него:
POST /api/alerts/export?format=csv
ИЛИ
POST /api/alerts/export/csv
Настроен ли это конечная точка так, как вы бы? И правильно ли он настроен на формат файла? И если требуемый формат файла не указан, каков правильный код состояния для возврата?
Спасибо.
Очень интересный взгляда , Таким образом, клиент будет заполнять заголовок запроса этой информацией до отправки на сервер? –
Заголовки являются частью самого запроса. Более подробную информацию см. В спецификации: http://www.w3.org/Protocols/rfc2616/rfc2616-sec5.html#sec5. –
Итак, используя этот дизайн, как я могу потребовать предоставления формата файла? Вернуть 400-й запрос, если значение заголовка Accept не предоставляется клиентом? –