Средний
Как правильно спроектировать эндпоинт для загрузки файла (Upload) в REST API?
Загрузка файлов (картинок, документов) имеет свои стандарты:
1. Метод: POST /users/{id}/avatar (если создаем новый) или PUT (если заменяем).
2. Content-Type: Обязательно использовать multipart/form-data. Это позволяет в одном запросе передать и сам бинарный файл, и дополнительные текстовые метаданные (например, описание файла).
3. Тело запроса: Файл передается потоком байтов, а не кодируется в Base64 (чтобы не раздувать размер на 33% и не убивать оперативную память сервера).
4. Ответ: Сервер должен вернуть 201 Created (или 200 OK) и URL загруженного файла.