линия

Главная

вторник, 20 сентября 2022 г.

Postman + graphQl + загрузка изображений

 


Перевалив за 35, вдруг осознал, что слишком сильно привязываюсь к  привычным технологиям. Для изучения чего то нового мне приходится пройти по нескольким стадиям: гнев, отрицание, принятие. Вот, устроившись на новую работу мне  необходимо было в кратчайшие сроки изучить GraphQL .  Сначала это меня сильно гневило, ибо я слишком привык к обычным роутам, контроллерам. А тут все по-другому. И сначала кажется просто диким ужасом. Потом начал все это отрицать. Все это нафиг не нужно мне - говорил я сам себе но продолжал смотреть видео уроки, ковыряться в коде.  И в конце концов, когда  перевели первый аванс  я принял эту технологию. 


Сегодня я расскажу как загрузить фото через постман используя запрос graphQL. Казалось бы, что может быть проще, но , как показала практика,  могут попасться подводные камни, об которые можно нехило так приложится. 

Задача была простая и понятная - дать возможность прикреплять главное фото и несколько дополнительных фото для обьекта Cinema .

Первым делом создаем поле типа файл, и прикрепляем туда нужные картинки



Далее в поле operations  добавляем запрос. Тут будьте внимательны, при обычном переносе строк запрос может не сработать, обязательно пишем \n . 

{"query": "mutation CinemaCreate( $cinemaId: String,$houseOfCultureId: String,$images: [ImageUploadInput],$imageCover: Upload ) {\nCinemaCreate( cinemaId:$cinemaId\n houseOfCultureId:$houseOfCultureId\n images:$images\n imageCover:$imageCover\n ) {\n name\n cinemaId\n __typename\n }}",
"variables":{
"houseOfCultureId": "5519ffb6-9c89-425f-a44b-f612bcf04a4e",
"cinemaId": "b63fee8b-2aa4-4468-893e-cbea944abe33",
"images":[{"image":null,"sortOrder":1},{"image":null, "sortOrder":8}],
"imageCover":null
}}







Самое интересное пишем в поле map. Там получается связываем прикрепленные файлы с переменными из variables 

{
"0":["variables.imageCover"],
"1": ["variables.images[0].image" ] ,
"2": ["variables.images[1].image" ]
}








Комментариев нет:

Отправить комментарий