четверг, 2 июля 2020 г.

Как отправить фото в формате base64 через Postman

Чтобы отправить фото в формате base64, нужно:
  1. Выбрать изображение
  2. Загрузить через любой сервис конвертирования изображения в base64 строку, например, https://www.base64-image.de/
  3. Скопировать полученную строку целиком, включая начало: «data:image/png;base64,iVBORw0KG...»
  4. Вставить в параметр для передачи фото в формате base64
Профит! Инструкция одинаковая для REST и SOAP. 

Но смысл этого поста, разумеется, не в инструкции. А в том, чтобы сразу ее применить! Попробовать пощупать самостоятельно. Сделать это можно в API бесплатной системы Shop, метод create или update.
Мы будем вызывать метод create. Пока через Postman, проверяя REST API. Для этого нужно:
1. Создать новый запрос, тип POST

2. Прописать URL из документации — http://shop.bugred.ru/api/items/create/

3. Заполнить тело запроса. Пока заполним все, кроме photo. 

Можно заполнить через form-data:


А можно взять пример из ТЗ, добавив туда параметр с фотографией (пока пустой):

{
    "name":"Шортики",
    "section":"Платья",
    "description":"Модное платье из новой коллекции!",
    "color":"RED",
    "size":44,
    "price":666,
    "params":"dress",
    "photo":""
}

Осторожно: копируя примеры из ТЗ, не забывайте включать мозг! Задавайте себе вопрос: «Будет ли этот запрос работать БЕЗ изменений? Или в нем есть параметры, которые надо взять из текущей системы?». 

Скажем, если мы делаем поиск по ID или email, то надо пойти в систему и взять действующий ID. Ведь обычно примеры пишут по своей, тестовой базе. А у пользователей база будет совсем другая. Но в данном случае запрос создает новый товар, так что будет работать as is, ничего менять не надо.

4. Выбрать изображение. Можно взять любое из готового набора тестовых данных.

5. Конвертировать изображение в формат base64 через любой сервис конвертации. Например, через https://www.base64-image.de/

Чтобы в этом сервисе получить строку base64, нужно нажать «</> show code»


И скопировать раздел «For use in <img> elements». Для этого нажимаем «select all», а потом «copy to clipboard»:


6. Подставить эту строку в запрос. Целиком, включая начало «data:image/png;base64,iVBORw0KG...»


Всё!

Отправляем запрос и смотрим в ответе:
  • с каким ID создался новый товар (для проверки в интерфейсе)
  • заполнено ли поле photo
У меня товар создан с id = 75



Теперь можно проверить в интерфейсе. Открываем карточку любого товара и меняем в URL конец, подставляя свой ID товара. 

В моем случае получилась ссылка http://shop.bugred.ru/shop/item/75. Фоточка есть!


Всё работает Smile :) 
PS — статья написана в помощь студентам моего курса «Тестирование REST API»

2 комментария:

  1. Ольга добрый день!Подскажите пожалуйста, как получить доступ к документации на confluence?

    ОтветитьУдалить