laravel5.8 GraphQL obtener un simple registro (3)

en CityQuery.php
public function args()
{
return [
'id' => [
'name' => 'id',
'type' => Type::int(),
'rules' => ['required']
],
];
}
public function resolve($root, $args)
{
return City::findOrFail($args['id']);
}


lo que podemos llamar:

{
  city (id: 22) {
        name
}


si no existe el id de la city, dará el sgt error:

{
  "errors": [
    {
      "debugMessage": "No query results for model [App\\City] 22",
      "message": "Internal server error",
...
}

Si se quiere customizar el mensaje de "debugMessage" se puede implementar
la funcion resolve asi:

public function resolve($root, $args)
{
if (!$city = City::find($args['id'])) {
throw new \Exception('La Ciudad no existe');
}

return $city;
}

No hay comentarios:

Publicar un comentario

linux ubuntu mint actualizar chrome

 desde una terminal: $ sudo apt update $ sudo apt install google-chrome-stable