я використовую
POST type
URL http://######/graphql
Body:
query: "query: "{'noteTypes': {'name', 'label', 'labelColor', 'groupName', 'groupLabel', 'imageUrl'}}"
Але воно повертає "message": "Повинен вказати рядок запиту."
Відповіді:
Існує кращий спосіб зробити це за допомогою клієнта REST Insomnia
Тут є документи, як надсилати графічні запити: https://support.insomnia.rest/article/61-graphql
Нижче наведені кроки для листоноші
Крок 1.
Запустіть GraphiQL у Chrome, відкрийте консоль розробника Chrome, клацніть вкладку Мережа та зробіть запит із 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 набагато краще та простіше за допомогою 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 (без можливості додавання заголовків) потрібно встановити три речі (це непросто ввести):
Заголовок:
Тип вмісту: application / json
Тіло:
Виберіть Промінь <optiongroup
Виберіть JSON (application / json) <selectbox
Складіть об’єкт javascript із запитом "запит" та "значенням" запиту графіка. Як і всі об'єкти в js, йому потрібні властивості та значення, у цьому випадку властивість має значення "quote", значення має бути з подвійними лапками. Всередині значення (рядок graphl) ви не складаєте js-об'єкти, тому вам не потрібно використовувати лапки, це просто рядок.
{"query": "{allQuotes {text}}"}}
проблема полягає в тому, що вам потрібно вводити все в один рядок, не як grapIql ... у поштовому службі github є вимога до публікації, тому легка робота з graphql:
Листоноша щойно випустив вбудовану підтримку GraphQL у версії 7.2.
Ця версія підтримує
- Надсилання запитів GraphQL в тілі запиту як запити POST
- Підтримка змінних GraphQL
- Створення API в Postman з типом схеми GraphQL
- Автозаповнення запитів інтегровано із визначеними користувачем схемами 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
Якщо ви використовуєте Visual Studio, я написав плагін для перетворення GraphQL в тіло Restful
https://marketplace.visualstudio.com/items?itemName=orasik.graphql-to-rest-queries
Виходячи з відповіді Естевау Лукаса .
Ви також можете використовувати заголовок Content-type: application/json
на листоноші
І визначте тіло за допомогою:
{
"query": "{ your_query }"
}
Це легко побудувати на стороні клієнта, щоб сформувати корисне навантаження запиту.
напр
Вихід:
Нещодавно "Листоноша" запустила свою готову підтримку 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:
Я є одним із авторів.
gq https://gentle-anchorage-72051.herokuapp.com/v1alpha1/graphql -i
ЯКЩО ми можемо передати тип заголовка, тоді додаємо заголовок Content-type: application / graphql
Нижче посилання може бути використано як посилання: опис посилання тут