graphql-go / graphql

An implementation of GraphQL for Go / Golang
MIT License
9.87k stars 839 forks source link

examples: adds http-post example #575

Closed chris-ramon closed 3 years ago

chris-ramon commented 3 years ago

Overview

Test plan

Get single todo: curl \ -X POST \ -H "Content-Type: application/json" \ --data '{ "query": "{ todo(id:\"b\") { id text done } }" }' \ http://localhost:8080/graphql

Create new todo: curl \ -X POST \ -H "Content-Type: application/json" \ --data '{ "query": "mutation { createTodo(text:\"My New todo\") { id text done } }" }' \ http://localhost:8080/graphql

Update todo: curl \ -X POST \ -H "Content-Type: application/json" \ --data '{ "query": "mutation { updateTodo(id:\"a\", done: true) { id text done } }" }' \ http://localhost:8080/graphql

Load todo list: curl \ -X POST \ -H "Content-Type: application/json" \ --data '{ "query": "{ todoList { id text done } }" }' \ http://localhost:8080/graphql


```bash
(graphql)-> curl \
> -X POST \
> -H "Content-Type: application/json" \
> --data '{ "query": "mutation { createTodo(text:\"My New todo\") { id text done } }" }' \
> http://localhost:8080/graphql
{"data":{"createTodo":{"done":false,"id":"XVlBzgba","text":"My New todo"}}}
(graphql)-> curl \
> -X POST \
> -H "Content-Type: application/json" \
> --data '{ "query": "mutation { createTodo(text:\"My New todo\") { id text done } }" }' \
> http://localhost:8080/graphql | jq
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   153  100    76  100    77  11615  11768 --:--:-- --:--:-- --:--:-- 12833
{
  "data": {
    "createTodo": {
      "done": false,
      "id": "XVlBzgba",
      "text": "My New todo"
    }
  }
}
(graphql)-> curl \
> -X POST \
> -H "Content-Type: application/json" \
> --data '{ "query": "{ todo(id:\"XVlBzgba\") { id text done } }" }' \
> http://localhost:8080/graphql | jq
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   127  100    70  100    57  11554   9409 --:--:-- --:--:-- --:--:-- 11666
{
  "data": {
    "todo": {
      "done": false,
      "id": "XVlBzgba",
      "text": "My New todo"
    }
  }
}
(graphql)-> curl \
> -X POST \
> -H "Content-Type: application/json" \
> --data '{ "query": "mutation { updateTodo(id:\"XVlBzgba\", done: true) { id text done } }" }' \
> http://localhost:8080/graphql | jq
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   159  100    75  100    84  12735  14263 --:--:-- --:--:-- --:--:-- 16800
{
  "data": {
    "updateTodo": {
      "done": true,
      "id": "XVlBzgba",
      "text": "My New todo"
    }
  }
}
(graphql)-> curl \
> -X POST \
> -H "Content-Type: application/json" \
> --data '{ "query": "{ todoList { id text done } }" }' \
> http://localhost:8080/graphql | jq
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   119  100    75  100    44  13347   7830 --:--:-- --:--:-- --:--:-- 15000
{
  "data": {
    "todoList": [
      {
        "done": true,
        "id": "XVlBzgba",
        "text": "My New todo"
      }
    ]
  }
}
coveralls commented 3 years ago

Coverage Status

Coverage remained the same at 92.426% when pulling 089f1bae3a33f01fc60f5733ed02721829c7517d on examples-http-post into 05c348c391c752faa9b9019c0baafc8f45f03d20 on master.