Подтвердить что ты не робот

Как отправить запрос graphql почтальона?

Я использую

POST type
URL http://######/graphql
Body: 
query: "query: "{'noteTypes':  {'name', 'label', 'labelColor', 'groupName', 'groupLabel', 'imageUrl'}}"

Но он возвращается "сообщение": "Должна предоставить строку запроса".

4b9b3361

Ответ 1


Там лучший способ сделать это с помощью клиента REST Бессонница

Документы здесь, как отправлять запросы graphql: https://support.insomnia.rest/article/61-graphql


Ниже приведены шаги для почтальона

Шаг 1.

Запустите GraphiQL в Chrome, откройте Chrome Dev Console, перейдите на вкладку Сеть и сделайте запрос из graphiql. Когда вы сделаете запрос, на вкладке сети отобразится запрос graphql...

enter image description here

Шаг 2.

Из запроса graphql скопируйте запрос запроса, выберите Copy as cURL (cmd)

enter image description here

Шаг 3.

Откройте Почтальон. В верхнем левом углу нажмите кнопку " Import, после того, как вы нажмете " Import вы должны нажать " Paste Raw Text и вставить скопированный запрос cURL как это было сделано в шаге 2, после того, как он сделал, нажмите " Import

enter image description here

Шаг 4

Почтальон готов отправить запрос Graphql. Просто нажмите кнопку " Send, вы увидите Response в поле для ответов в теле, как показано ниже

enter image description here

Шаг 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 }}}}}"
}

================================================== =========================

enter image description here

вы можете напрямую начать с step 5 если вы знаете, как отправить запрос в теле и других вещах, которые также могут потребоваться при выполнении запроса от почтальона

enter image description here

С упрощенным JSON

enter image description here

Ответ 2

Вам не нужна INSOMNIA в случае, если сервер GraphQL отвечает на Content-type: application/graphql или postman.setEnvironmentVariable,

Просто сделай это:

На вкладке "Заголовки": Content-Type: application/graphql

На вкладке "Тело", выбрав "raw", поместите ваш запрос

enter image description here

Ответ 3

Добавление этого для любого, кто ищет по этой теме... вы можете использовать и тестировать вызовы GraphQL намного лучше и легче с помощью Insomnia:

https://insomnia.rest

Это было фантастически для разработки GraphQL.

Ответ 4

Там простой способ сделать это. Используйте сценарий предварительного запроса для структурирования полезной нагрузки (источника).

Шаг 1.

В теле запроса указывается заполнитель для полезной нагрузки.

{
    "query":{{query}}
}

Шаг 2.

Создайте полезную нагрузку в сценарии предварительного запроса и сохраните его в переменной среды.

postman.setEnvironmentVariable("query", JSON.stringify(
'
{
  search(query: "test", type: ISSUE, first: 10) {
    issueCount
    edges {
      node {
        ... on Issue {
          title
          id
          state
          closed
          repository {
            name
          }
        }
      }
    }
  }
}
'
));

Это.

Ответ 5

ОБНОВЛЕНИЕ 2:

Это не практическое использование POSTMAN, потому что они все еще работают простым способом добавления заголовков, которые занимают много времени, и я думаю, что POSTMAN не предназначен для естественной работы с graphql,

вы можете следить за прогрессом в этом направлении здесь: https://github.com/postmanlabs/postman-app-support/issues/1669

Я рекомендую использовать другой плагин пакетов, например:

the best (like postman , but profile and sync price 5$ monthly):
   https://insomnia.rest/
others:
   https://github.com/andev-software/graphql-ide
   https://github.com/imolorhe

для graphiql (без возможности добавления заголовков) вам нужно установить три вещи (набрать их нелегко):

  1. Заголовок:

    Тип контента: приложение /JSON

  2. Тело:

    Выберите Луч <группа опций

    Выберите JSON (приложение /JSON) <выберите

  3. Составьте объект javascript с помощью "запроса" и "значения" вашего графического запроса. Как и всем объектам в js, ему нужны свойство и значение, в этом случае "quote" - это свойство, значение должно быть в двойных кавычках. Внутри значения (строка графа) вы не составляете объекты js, поэтому вам не нужно использовать двойные кавычки, это просто строка.

    {"query": "{allQuotes {text}}"}

    проблема в том, что вам нужно напечатать все в одной строке, а не как grapIql... в postman github есть требование post, поэтому легко работать с graphql:

enter image description here

enter image description here

Ответ 6

Я столкнулся с той же проблемой, когда пытался использовать запрос graphQl с помощью POSTMAN В POSTMAN отправлять данные из raw вкладки с типом json.

Команда запроса:

{"query":"{user(id:902){id,username,DOB}}"}

Команда мутаций:

{ "query": "mutation {createMutations(reviewer:36, comments:\"hello\",data_id: 1659, approved: true ){id}}" }

       #commnent: String Type
       #data_id:Int Type
       #approved:Boolean Type

Ответ 7

Почтальон только что выпустил встроенную поддержку GraphQL в версии 7.2.

Эта версия поддерживает

  • Отправка запросов GraphQL в теле запроса в виде запросов POST
  • Поддержка переменных GraphQL
  • Создание API в Postman с типом схемы GraphQL
  • Автозаполнение запросов, интегрированное с пользовательскими схемами GraphQL

Пожалуйста, попробуйте и оставьте свой отзыв о теме отслеживания на форуме нашего сообщества.

Ответ 8

Получив ответ Эстевана Лукаса.

Вы также можете использовать заголовок Content-type: application/json на почтальоне

И определить тело с помощью:

{
    "query": "{ your_query }"
}

Это легко построить на стороне клиента для формирования полезной нагрузки запроса.

например

enter image description here

Выход:

enter image description here

Ответ 11

ОБНОВЛЕНИЕ 8-2019 - Я знаю, что это старое, но что касается POSTMAN, если вы еще не поняли это, у них есть опция graphql (бета) для публикации тела. Нет необходимости добавлять дополнительные заголовки.

enter image description here

Ответ 12

Оформить заказ https://github.com/hasura/graphqurl - curl для GraphQL:

  • CLI для выполнения запросов к GraphQL с автозаполнением
  • Запускать GraphiQL локально для любой конечной точки (с пользовательскими заголовками)
  • Использовать как библиотеку с nodejs или из браузера
  • Поддерживает подписки

Я один из авторов.

gq https://gentle-anchorage-72051.herokuapp.com/v1alpha1/graphql -i

GraphiQL with headers

Ответ 13

ЕСЛИ мы можем передать тип заголовка, то добавим заголовок Content-type: application/graphql

Ниже ссылка может быть использована в качестве ссылки: описание ссылки здесь

Ответ 14

Добавив заголовок, мы можем запустить запрос graphql в почтальоне

Content-type: application/graphql