由於 GraphQL 也是基於 REST API 與 HTTP,因此也可直接使用 Curl 測試 GraphQL API。
Version
macOS Catalina 10.15.2
Node 13.2.0
Apollo GraphQL 2.9.6
Curl 7.64.1
Insomnia 7.0.5
Query
query {
books {
title
price
}
}
一個普通的 GraphQL query。
使用 Insomnia 的 Copy as Curl
產生 Curl command。
curl --request POST \
--url 'http://localhost:4000/?=' \
--header 'content-type: application/json' \
--data '{"query":"query {\n books {\n title\n price\n }\n}"}'
在 terminal 貼上即可執行。
- url:指定 GraphQL API endpoint
- header:指定
content-type
為application/json
- data:指定 GraphQL query
\n
為換行符號
Mutation
mutation {
addBook(book: {
title: "Speaking JavaScript"
price: 300
}) {
title
price
}
}
一個普通的 GraphQL mutation。
使用 Insomnia 的 Copy as Curl
產生 Curl command。
curl --request POST \
--url http://localhost:4000/ \
--header 'content-type: application/json' \
--data '{"query":"mutation {\n addBook(book: {\n title: \"Speaking JavaScript\"\n price: 300\n }) {\n title\n price\n }\n}"}'
在 terminal 貼上即可執行。
Conclusion
- 雖然可用 GraphQL Playgroud 測試 GraphQL API,但也能使用 CLI 的 Curl
- 透過 Insomnia 可自動產生 Curl command,不必再自行手刻