[pyar] Errores customizados con django graphene

Daniel dmlistapython en gmail.com
Sab Jun 29 08:44:46 -03 2019


Hola Amilcar, hay 2 tipos de errores:
-uno es del chequeo que hace graphql de la query/mutation en cuestion (que
es lo que está devolviendo)
No me parece correcto tocar nada de eso, sobre todo porque los requeridos
deberían estar claros de movida
pero si querés chequear de tu lado (backend) y eximir al front de eso
tendrías que hacer el parámetro opcional
y al evaluar que no cumple las especificaciones y lanzar un error
personalizado.
algo como esto:

error = {"code": "020807",         "error": "Debe especificar el
parámetro saraza para poder seguir"} raise
GraphQLError(json.dumps(error))




El vie., 28 jun. 2019 a las 12:19, Amilcar Benitez (<amilcarben en gmail.com>)
escribió:

> Hola. Estoy iniciando un proyecto con django-graphene y me está
> complicando el tema de devolver errores a la aplicación
> cliente(apollo+react).
> Desde el frontend, el problema que tenemos es el siguiente; se arma toda
> la ui con react y se mandan los datos de un formulario x, si algo falla en
> el servidor, desde el frontend esperan que se les dé información de los
> campos en los que se produjo el error y el mensaje apropiado para el
> usuario.
> ¿Hay forma de devolver errores customizados para facilitarle las cosas al
> cliente?
> Si por ejemplo tengo una type Persona, en el alta de una persona(mutation
> para el alta), el objetivo, cuando ocurre un error,  es devolver cosas como
> {
>   errors: [
>     {
>        "field": "tipoDocumento",
>        "message": "El tipo de documento es requerido"
>     }
>   ]
> }
>
> Sin embargo, me devuelve lo siguiente:
> {
>   "errors": [
>     {
>       "message": "Field \"createPersona\" argument \"tipoDocumento\" of
> type \"String!\" is required but not provided.",
>       "locations": [
>         {
>           "line": 8,
>           "column": 3
>         }
>       ]
>     }
>   ]
> }
>
> Ampliando la pregunta para aquellos que vienen usando django graphene, ¿es
> correcto que yo modifique los mensajes de error? ó ¿desde el frontend
> deberían poder resolverlo?
>
> Saludos!
>
> --
> Amilcar Benitez
> _______________________________________________
> Lista de Correo de PyAr - Python Argentina - pyar en python.org.ar
> Sitio web: http://www.python.org.ar/
>
> Para administrar la lista (o desuscribirse) entrar a
> http://listas.python.org.ar/listinfo/pyar
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar



-- 
Daniel Malisani
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20190629/d6da472e/attachment.html>


Más información sobre la lista de distribución pyar