¿Desarrollaste un API con buenas prácticas?

Photo by John Schnobrich on Unsplash

En los últimos meses, he leído e investigado sobre todo lo relacionado con el mundo de las APIs es así como en esta ocasión quise armar una lista de chequeo corta y concisa que le permita a los desarrolladores comprobar si desarrollaron un API con todas las buenas practicas que hasta el momento profesan la mayoría de grandes empresas que se dedican al desarrollo de estas. A continuación les presento esa lista de chequeo:

✔️ Lista de chequeo

  • [ ] El API tiene definido un esquemas definidos de autorización y autenticación
  • [ ] El API hace uso correcto de los verbos HTTP (GET, POST, PUT, PATCH, DELETE)
  • [ ] El API cuenta con una definición clara de los endpoints, esta definición incluye: Qué hace y cómo se relaciona con otros endpoints
  • [ ] El API cuenta con una documentación de calidad que contenga: La estructura de las respuestas, los métodos de cada endpoints, la descripción de cada endpointsy ejemplos de uso
  • [ ] El API cuenta con una estructura de respuesta para el manejo de errores y usa correctamente los códigos de error (Errores 4xx o 5xx)
  • [ ] En el diseño del API se realizó un correcto modelado de los recursos, teniendo en cuenta los principios de API REST
  • [ ] El API usa sustantivos en los nombres de los recursos
  • [ ] El API usa nombre en plural en los endpoints o URLs
  • [ ] El API evita los recursos profundamente anidados, por ejemplo, /posts/r83fj3/comments
  • [ ] El API usa identificadores de recursos no secuenciales, por ejemplo: /posts/r83fj3
  • [ ] El API no usa acciones personalizadas en sus endpoints, por ejemplo: POST /posts/d92hf73/publish Esto va en contra de los principios REST
  • [ ] El API cuenta con alguna estructura definida para las respuestas, por ejemplo: JSON API, o alguna definida internamente
  • [ ] El API utiliza correctamente los códigos de respuesta HTTP, como los códigos 2xx
  • [ ] El API hace un correcto control de versiones, tanto internamente como en la estructura de la URL, por ejemplo, como un fragmento de la ruta example.com/api/v3/posts
  • [ ] El API cuenta con principios básicos de seguridad, como limite de tasa de solicitudes
  • [ ] El API cuenta con alguna sección de soporte para los desarrolladores
  • [ ] El API cuenta con colecciones filtrables, ordenables y paginables
  • [ ] El API tiene alguna política de obsolescencia

📚 Post relacionados

--

--

🚀 Software Engineer 🖥️ Backend Developer 🐍 Python & Django http://davidcasr.co/

Love podcasts or audiobooks? Learn on the go with our new app.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
David Castro

David Castro

🚀 Software Engineer 🖥️ Backend Developer 🐍 Python & Django http://davidcasr.co/