Шаблон REST API для приложения генерации отчетов
Я пытаюсь создать свой первый REST API для генерации и получения отчетов. Приложение должно иметь возможность возвращать отчет в виде файла для загрузки или в виде коллекции. В случае загрузки, по некоторым техническим причинам, я бы предпочел указать место загрузки файла, а не передавать файл внутри тела. Наконец, я хотел бы отслеживать состояние всех запросов на генерацию отчетов (т. Е. Выполнено, ошибка и т. Д.).
Поскольку создание отчета может занять некоторое время, я подумал применить шаблон, найденный в книге отдыха, а также на этом сайте:
1) POST uri: отчеты возвращаются:
HTTP 202 Расположение: uri: reportRequest
2) ПОЛУЧИТЬ URI:ReportRequest возвращает:
Если операция запущена: HTTP 200 OK
и отчет о проделанной работе.Если операция завершена: HTTP 303
Местоположение: uri: Сообщить
Uri:Report может быть местом загрузки файла или представлением отчета (т.е. в формате Json или XML).
3) ПОЛУЧИТЬ Uri: Доклад:
HTTP 200 ОК
Здесь я не очень ясно, является ли это лучшим шаблоном для применения из-за связи между ресурсом Report и ресурсом ReportRequest. Например, если отчет удаляется из приложения по истечении заданного времени, будет ли соответствовать следующее:
ПОЛУЧИТЬ Uri:ReportRequest
HTTP 200 ОК
Просто статус сгенерированного отчета
Или приложение должно также удалить соответствующий ReportRequest?
Будучи первым REST API, который я пытаюсь создать, я хотел бы знать, возможно, есть более разумный шаблон?