Я использую
POST type
URL http://######/graphql
Body:
query: "query: "{'noteTypes': {'name', 'label', 'labelColor', 'groupName', 'groupLabel', 'imageUrl'}}"
Но он возвращается "сообщение": "Должна предоставить строку запроса".
Я использую
POST type
URL http://######/graphql
Body:
query: "query: "{'noteTypes': {'name', 'label', 'labelColor', 'groupName', 'groupLabel', 'imageUrl'}}"
Но он возвращается "сообщение": "Должна предоставить строку запроса".
Там лучший способ сделать это с помощью клиента REST Бессонница
Документы здесь, как отправлять запросы graphql: https://support.insomnia.rest/article/61-graphql
Ниже приведены шаги для почтальона
Шаг 1.
Запустите GraphiQL в Chrome, откройте Chrome Dev Console, перейдите на вкладку Сеть и сделайте запрос из 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
Вам не нужна INSOMNIA в случае, если сервер GraphQL отвечает на Content-type: application/graphql
или postman.setEnvironmentVariable
,
Просто сделай это:
На вкладке "Заголовки": Content-Type: application/graphql
На вкладке "Тело", выбрав "raw", поместите ваш запрос
Добавление этого для любого, кто ищет по этой теме... вы можете использовать и тестировать вызовы GraphQL намного лучше и легче с помощью Insomnia:
Это было фантастически для разработки GraphQL.
Там простой способ сделать это. Используйте сценарий предварительного запроса для структурирования полезной нагрузки (источника).
Шаг 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
}
}
}
}
}
}
'
));
Это.
Это не практическое использование 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 (без возможности добавления заголовков) вам нужно установить три вещи (набрать их нелегко):
Заголовок:
Тип контента: приложение /JSON
Тело:
Выберите Луч <группа опций
Выберите JSON (приложение /JSON) <выберите
Составьте объект javascript с помощью "запроса" и "значения" вашего графического запроса. Как и всем объектам в js, ему нужны свойство и значение, в этом случае "quote" - это свойство, значение должно быть в двойных кавычках. Внутри значения (строка графа) вы не составляете объекты js, поэтому вам не нужно использовать двойные кавычки, это просто строка.
{"query": "{allQuotes {text}}"}
проблема в том, что вам нужно напечатать все в одной строке, а не как grapIql... в postman github есть требование post, поэтому легко работать с graphql:
Я столкнулся с той же проблемой, когда пытался использовать запрос 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
Почтальон только что выпустил встроенную поддержку GraphQL в версии 7.2.
Эта версия поддерживает
- Отправка запросов GraphQL в теле запроса в виде запросов POST
- Поддержка переменных GraphQL
- Создание API в Postman с типом схемы GraphQL
- Автозаполнение запросов, интегрированное с пользовательскими схемами GraphQL
Пожалуйста, попробуйте и оставьте свой отзыв о теме отслеживания на форуме нашего сообщества.
Получив ответ Эстевана Лукаса.
Вы также можете использовать заголовок Content-type: application/json
на почтальоне
И определить тело с помощью:
{
"query": "{ your_query }"
}
Это легко построить на стороне клиента для формирования полезной нагрузки запроса.
например
Выход:
Если вы используете Visual Studio, я написал плагин для преобразования GraphQL в тело Restful
https://marketplace.visualstudio.com/items?itemName=orasik.graphql-to-rest-queries
Postman недавно запустил встроенную поддержку GraphQL: https://blog.getpostman.com/2019/06/18/postman-v7-2-supports-graphql/
Ниже приведен скриншот тестирования локального GraphQL:
Примечание: локальный запуск GraphQL с использованием spring-boot https://www.baeldung.com/spring-graphql
ОБНОВЛЕНИЕ 8-2019 - Я знаю, что это старое, но что касается POSTMAN, если вы еще не поняли это, у них есть опция graphql (бета) для публикации тела. Нет необходимости добавлять дополнительные заголовки.
Оформить заказ https://github.com/hasura/graphqurl - curl для GraphQL:
Я один из авторов.
gq https://gentle-anchorage-72051.herokuapp.com/v1alpha1/graphql -i
ЕСЛИ мы можем передать тип заголовка, то добавим заголовок Content-type: application/graphql
Ниже ссылка может быть использована в качестве ссылки: описание ссылки здесь
Добавив заголовок, мы можем запустить запрос graphql в почтальоне
Content-type: application/graphql