Calma é só uma brincadeira
https://viacep.com.br/ws/01001000/json/
response
{
"cep": "01001-000",
"logradouro": "Praça da Sé",
"complemento": "lado ímpar",
"bairro": "Sé",
"localidade": "São Paulo",
"uf": "SP",
"unidade": "",
"ibge": "3550308",
"gia": "1004"
}
{
endereco(cep: "01001-000") {
logradouro
uf
}
}
response
{
"data": {
"endereco": {
"logradouro": "Praça da Sé",
"uf": "SP"
}
}
}
"GraphQL é uma linguagem de consulta para sua API ..."http://graphql.org
$schema = new Schema([
'query' => $queryType,
'mutation' => $mutationType,
]);
http://webonyx.github.io/graphql-php/type-system/schema/#configuration-options
$queryType = new ObjectType([
'name' => 'Query',
'fields' => [
'echo' => [
'type' => Type::string(),
'args' => [
'message' => ['type' => Type::string()],
],
'resolve' => function ($root, $args) {
return $root['prefix'] . $args['message'];
}
],
],
]);
$mutationType = new ObjectType([
'name' => 'Calc',
'fields' => [
'sum' => [
'type' => Type::int(),
'args' => [
'x' => ['type' => Type::int()],
'y' => ['type' => Type::int()],
],
'resolve' => function ($root, $args) {
return $args['x'] + $args['y'];
},
],
],
]);
type Character {
name: String!
appearsIn: [Episode]!
}
'resolve' => function ($root, $args) {
return $args['x'] + $args['y'];
},
Muitas vezes é útil pedir um esquema GraphQL para obter informações sobre quais consultas ele suporta. O GraphQL nos permite fazer isso usando o sistema de introspecção!API documentada :)