2013-05-30 3 views
0

Какой код состояния должен быть возвращен, если я загружаю файл (или публикую новый ресурс), который является недопустимым, но все равно был сохранен на сервере (это требование здесь)?REST Загрузка и проверка файлов

Должен ли я по-прежнему возвращать 201 и включать в тело ответа FileValidationResult?

+0

, если ваш клиент будет в состоянии сделать, например, GET или DELETE новый ресурс ? Или файл только что сохранен из-за внутренней обработки? –

+0

Это для внутренней обработки или более конкретно: o из него создаются ne или больше ресурсов. Файл содержит данные о продукте, и служба должна создавать новые продукты из загруженного (XML) файла и отмечать их как действительные или недействительные. Если я буду следовать «принципам REST», я мог бы вернуть все созданные продукты, которые содержат свойство IsValid. Но этот ответ может стать огромным, и я также хочу передать ошибки проверки клиенту. –

ответ

1

Я бы отделил загрузку от ее обработки.

После POST вы можете ответить с 201 (или 202, принимаются), а также местоположение ресурса сбора (например /uploads/<upload_id>, который инкапсулирует результат загрузки. С помощью этого ресурса вы можете получить например, созданные продукты и недопустимые продукты .

Кроме того, таким образом, если обработка займет больше времени, вы можете быстро вернуться и есть ресурс коллекции вернуть отчет о состоянии, если это еще не закончена.

+0

Спасибо, это звучит жизнеспособно для меня. –

Смежные вопросы