multipart/form-data — это тип данных, используемый браузерами, когда форма содержит поле ввода файла, и это традиционный способ загрузки файлов в API. Тело запроса разделено на части, каждая из которых имеет свои заголовки — имя, опционально имя файла и Content-Type — поэтому текстовые поля и бинарные файлы передаются вместе в одном запросе.
Заголовок Content-Type объявляет разделительную строку, а тело запроса состоит из частей, разделенных этой границей. Клиенты должны позволить своей HTTP-библиотеке сформировать тело запроса и установить заголовок, включая разделительную строку; серверы проверяют объявленный тип и размер каждой части, отвечая кодом 415, если тип файла не принимается, и кодом 413, если размер файла слишком велик.
Установка параметра Content-Type: multipart/form-data вручную очень полезна. Без этого параметра сервер не может разделить тело запроса, и загрузка завершается с ошибкой, что вызывает путаницу. При использовании fetch и FormData правильным решением будет вообще не устанавливать этот заголовок.
POST /movies/v1/movies/{id}/poster имитирует многокомпонентную загрузку постера, отвечая кодом 415 для неподдерживаемого типа изображения и кодом 413 для изображения слишком большого размера — две проверки, необходимые для каждой точки загрузки.
Все термины · Приёмы тестирования · Все 39 mock REST API
Последнее обновление