Listado de los códigos de estado HTTP para el control y flujo de una API RESTful, con los códigos HTPP permiten establecer un patrón de diseño, en el procesamiento de los recursos, podemos englobar en dos grupos de códigos, los que devuelven contenido exitoso (2XX,3XX) y los que informan de un error (4XX,5XX).
códigos HTPP de control de datos
- 200 OK - todo correcto responder con bloque de datos.
- 201 Created - en la creación de un recurso usando los verbos/método POST, PUT, PATCH, para complementar podemos pasar el indice del recurso creado.
- 204 No Content - para procesar eliminación de un recurso, no es necesario devolver datos.
- 304 Not Modified - sin modificación alguna, para especificar que no hay datos actualizados y que se puede refrescar de la cache.
Si queremos informar que el contenido del recurso es troceado, usando paginación, debemos enviar el total de items con el encabezado HTTP x-total-count y opcional el encabezado link: con los enlaces semánticos con su relación: first,prev,next y last.
códigos HTTP de control de errores
- 400 Bad Request - uri/url mal sentenciada.
- 401 Unauthorized - Se requiere autorización.
- 403 Forbidden - acceso prohibido o insuficientes permisos.
- 404 Not Found - recurso inexistente.
- 405 Method Not Allowed - no todos los recursos soportan los mismos verbos GET POST PATCH DELETE , se devuelve ese código si se pasa un verbo inapropiado a la petición del recurso.
- 406 Not Acceptable - si se pasan parámetros y no son válidos.
Los códigos siguientes son computados por el mismo servidor
- 500 Internal Server Error - error en el servidor
- 503 Service Unavailable - servidor no disponible
Otros códigos de control de errores
- 409 Conflict - indica que la petición no ha sido procesada por causa de un conflicto, como una imposible edición o requiere editar primero a otros.
- 410 Gone - recurso obsoleto, para informar que la nueva versión de la API ya no soporta la petición del recurso.
- 422 Unprocessable Entity - parámetros correctos, pero no se ha podio terminar el procesamiento de los datos.
- 429 Too Many Requests - demasiado peticiones
Caso práctico
Ejemplo teórico de como implementar los códigos de control para procesar una API REST fulDefinimos un escenario: un servicio web que controle anuncios publicitarios, tenemos las siguientes URIS
GET api/v1/anuncios/
Nos devolverá todos los anuncios publicitarios con el código HTPP 200 OK - Succesful
POST api/v1/anuncios/
Los datos se envian por POST, se deben procesar y si hay algun error devolver código HTPP 400 - Bad Request.
Si se ha podido realizar la inserción de un nuevo anuncio publiciario devolver código HTPP
GET api/v1/anuncios/3
DELETE api/v1/anuncios/5
Si se ha podido completar la eliminación del anuncio con el ID número 5, se devuelve con el código HTPP sin contenido extra.
0 comentarios:
Publicar un comentario