Почтальон: упорядочивание полей в запросе данных формы

У меня есть настроен сервер, на который я могу успешно отправить следующий запрос:

curl localhost:8081/graphql   \
    -F operations='{ "query": "mutation ($file: Upload!) { uploadFile(file: $file) { id } }", "variables": { "file": null } }'
    -F map='{ "0": ["variables.file"] }'
    -F 0=@a.txt

Однако, если я вставлю это в Postman или попытаюсь создать запрос вручную, я получаю сообщение об ошибке на стороне сервера с указанием

Custom error: Misordered multipart fields; files should follow “map” (https://github.com/jaydenseric/graphql-multipart-request-spec).

Но в Postman я определил поля в таком порядке:

postman field ordering

Делает ли Почтальон что-нибудь самостоятельно, чтобы изменить порядок полей? Могу ли я что-нибудь сделать, чтобы контролировать порядок?

Обновление: сообщение об ошибке с почтальоном здесь: https://github.com/postmanlabs/postman-app-support/issues/4461

Вы можете использовать разные инструменты как JMeter

user7294900 11.04.2018 12:14

Ошибка в Postman. Бессонница помогает.

Avius 17.09.2018 19:42
3
2
1 972
3

Ответы 3

Почтальон, кажется, упорядочивает поля в алфавитном порядке, поэтому 0 станет первым полем. Я переименовал свои собственные файловые поля в "nfile1" и т. Д.

Но я нашел этот вопрос, потому что смог прочитать только первый файл. И я не уверен, вызвано ли это тем, что я использую. Но таким образом вы можете по крайней мере протестировать с одним файлом в Postman.

postman config

Этот способ сработал для меня, вместо того, чтобы давать имя файла как «0», я дал «nfile» и приказал поддерживать те же операции, карту и nfile.

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

Agilanbu 13.12.2018 08:18

Вы пробовали, чтобы сервер GraphQL (настроенный как связанный в OP) также мог принимать файл из этого запроса?

Tomas Aschan 13.12.2018 09:02

@Agilanbu Я буду иметь это в виду. Спасибо, это мой первый ответ.

Sachin_1729 13.12.2018 10:03

Вы также можете использовать Клиент Altair GraphQL для тестирования реализации загрузки файлов, как описано в здесь.

Другие вопросы по теме