[pyar] [django] api rest - estructura de mensajes de error

Carlos Matías cmdelatorre en gmail.com
Mie Abr 11 09:25:43 -03 2018


Maxi,

en mi opinión, es importante que uses el status HTTP que corresponde, que
mejor represente el error. Eso es estándar, esperable y prolijo.

Fuera de eso, la estructura del contenido asociado al error depende del
uso. Como verás, no hay nada muy estandarizado ni global. Mientras elijas
algo estructurado y seas consistente, más fácil le hacés la vida a los
clientes de la API.
Si ya sabés quienes son esos "clientes" (por ejemplo una app de frontend
tuya) entonces enfocate en darle servicio. Si no sabés quienes serán los
clientes, preocupate de documentar ese formato para que se pueda usar.



Carlos Matías
@py_litox <https://twitter.com/py_litox>

2018-04-10 12:37 GMT-03:00 Maxi <maxirobaina en gmail.com>:

> Hola,
>
> Esta consulta si bien tiene el tag [django] porque en particular estoy
> usando django-restframework para crear un api,, creo que se puede aplicar
> de modo más genérico al tema de como devolver información de un error en un
> api, algo asi como "buenas prácticas".
>
> Entonces, la pregunta concreta es ¿Que usan o en que documentación se
> basan para definir la estructura de los mensajes de error que devuelven sus
> apis rest?
>
> Si bien hay una especificación al respecto [1] como punto de partida, veo
> que no hay un estándar definido en la industria, cada uno maneja esto de
> distinta forma. Por ejemplo lei por ahí que Facebook siempre devuelve un
> http status code 200 aunque haya error y hay que analizar el objeto de
> respuesta para ver que paso.
> Twitter lo maneja de otra forma, si usan http error code más un subset de
> códigos internos.
>
> Me interesa entonces que opinión tienen al respecto, si usar estrictamente
> el estándar o usar algo más personalizado, más allá que de todo lo que he
> leído parece ser más una cuestión de "estilos" que otra cosa.
>
> Particularmente para django-restframework encontré esto [2], un poco
> abandonado parece pero podría ser un buen punto de partida.
>
> Saludos!
>
>
> [1] https://tools.ietf.org/html/rfc7807
> [2] https://github.com/FutureMind/drf-friendly-errors
>
>
>
>
>
> --
> Maximiliano Robaina
>
>
> _______________________________________________
> 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
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20180411/11f6fbd7/attachment-0001.html>


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