я использую
POST type
URL http://######/graphql
Body:
query: "query: "{'noteTypes': {'name', 'label', 'labelColor', 'groupName', 'groupLabel', 'imageUrl'}}"
Но он возвращает «сообщение»: «Необходимо предоставить строку запроса».
Есть лучший способ сделать это с помощью REST-клиента Insomnia.
Документы здесь, как отправлять запросы graphql: https://support.insomnia.rest/article/61-graphql
Ниже приведены шаги для почтальона
Шаг 1.
Запустите GraphiQL в Chrome, откройте консоль Chrome Dev, щелкните вкладку Сеть и сделайте запрос из graphiql, когда вы сделаете запрос, на вкладке сети отобразится запрос graphql ...
Шаг 2.
Из graphql
запроса скопируйте запрос запроса, выберитеCopy as cURL (cmd)
Шаг 3.
Откройте Почтальон, в верхнем левом углу нажмите Import
кнопку, после нажатия Import
вам нужно нажать Paste Raw Text
и вставить скопированный cURL
запрос, как это было сделано на шаге 2, после того, как это будет сделано, нажмитеImport
Шаг 4.
Почтальон готов отправить запрос Graphql, просто нажмите Send
кнопку, вы увидите Response
в поле ответа в теле, как показано ниже
Шаг 5.
Чтобы увидеть, как отправляется запрос, щелкните Body
вкладку рядом с ней Headers
, вы узнаете, как предоставить поля от почтальона в формате JSON.
например:, edges {\n node {\n id\n jobId\n }\n
Если вы хотите просмотреть другое поле, вам нужно добавить его с суффиксом\n
вроде если нужно name
то:edges {\n node {\n id\n jobId\n name\n }\n
\n
здесь просто означает новую строку. Вместо этого вы можете упростить задачу, предоставив ясный и наглядный JSON, как показано ниже.
================================================== =========================
Примечание . Тип тела должен быть необработанным сapplication/json
типом содержимого. Итак, запрос должен быть действующим JSON с кавычками.".."
{
"query":"{viewer {user {edges {node {id jobId name }}}}}"
}
================================================== =========================
вы можете сразу начать, step 5
если знаете, как отправить запрос в теле, а также другие вещи, которые должны потребоваться при отправке запроса от почтальона
С упрощенным JSON
Бессонница не нужна, если сервер GraphQL отвечает на
Content-type: application/graphql
илиpostman.setEnvironmentVariable
,Просто сделай это:
На вкладке Заголовки:
Content-Type: application/graphql
На вкладке "Тело" выбрано "сырые" введите свой запрос.
источник
Добавив это для всех, кто ищет по теме ... вы можете использовать и тестировать вызовы GraphQL намного лучше и проще с Insomnia:
https://insomnia.rest
Это было здорово для разработки GraphQL.
источник
Есть простой способ сделать это. Используйте сценарий предварительного запроса, чтобы структурировать полезную нагрузку ( источник ).
Шаг 1.
В теле запроса поместите заполнитель для полезной нагрузки.
Шаг 2.
Создайте полезную нагрузку в сценарии предварительного запроса и сохраните ее в переменной среды.
Вот и все.
источник
ОБНОВЛЕНИЕ 2:
Это непрактично использовать POSTMAN, потому что они работают, но с легкостью добавляют заголовки, что занимает много времени, и я думаю, что POSTMAN не предназначен для естественной работы с graphql,
вы можете следить за прогрессом здесь: https://github.com/postmanlabs/postman-app-support/issues/1669
Я рекомендую использовать другой плагин пакетов, например:
для graphiql (без возможности добавления заголовков) вам нужно установить три вещи (их нелегко набрать):
Заголовок:
Тип содержимого: приложение / json
Тело:
Выберите Ray <optiongroup
Выберите JSON (приложение / json) <selectbox
Составьте объект javascript с «запросом» и «значением» вашего графического запроса. Как и всем объектам в js, ему необходимы свойство и значение, в данном случае "quote" - это свойство, значение должно быть заключено в двойные кавычки. Внутри значения (строка graphl) вы не составляете объекты js, поэтому вам не нужно использовать двойные кавычки, это просто строка.
{"запрос": "{allQuotes {текст}}"}
проблема в том, что вам нужно ввести все в одну строку, не как grapIql ... в почтальоне github есть требование публикации, поэтому с graphql легко работать:
источник
ОБНОВЛЕНИЕ 8-2019 - Я знаю, что это старое, но что касается POSTMAN, если вы еще не поняли это, у них есть опция graphql (бета) для публикации тела. Нет необходимости добавлять дополнительные заголовки.
источник
Postman только что выпустил встроенную поддержку GraphQL в версии 7.2.
источник
Я столкнулся с той же проблемой, когда пытаюсь использовать
graphQl
запрос, используяPOSTMAN
в POSTMAN отправку данных изraw
вкладки сjson
типом.Команда запроса:
Команда мутации:
источник
Если вы используете Visual Studio, я написал плагин для преобразования GraphQL в тело Restful.
https://marketplace.visualstudio.com/items?itemName=orasik.graphql-to-rest-queries
источник
Исходя из ответа Эстевана Лукаса .
Вы также можете использовать заголовок
Content-type: application/json
на почтальонеИ определите тело с помощью:
Это легко создается на стороне клиента для формирования полезной нагрузки запроса.
например
Вывод:
источник
Postman недавно запустил встроенную поддержку GraphQL: https://blog.getpostman.com/2019/06/18/postman-v7-2-supports-graphql/
Ниже приведен снимок экрана локального тестирования GraphQL:
Примечание . Запуск GraphQL локально с использованием Spring-boot https://www.baeldung.com/spring-graphql
источник
Оформить заказ https://github.com/hasura/graphqurl - curl для GraphQL:
Я один из авторов.
источник
ЕСЛИ мы можем передать тип заголовка, тогда добавьте заголовок Content-type: application / graphql
Ссылку ниже можно использовать как ссылку: описание ссылки здесь
источник
Добавив заголовок, мы можем запустить запрос graphql в почтальоне
Content-type: application/graphql
источник