Estructura REST API
Clase 7 de 19 • Curso de Introducción al Desarrollo Backend
Contenido del curso
Clase 7 de 19 • Curso de Introducción al Desarrollo Backend
Contenido del curso
Juan Carlos Montilla Sánchez
Edgardo Zambrano
Michelle Verano
Antonio Demarco Bonino
Antonio Demarco Bonino
Rolando Tarqui Benito
Miguel Angel Reyes Moreno
Juan Esteban Sierra Agudelo
Camila Clari Orihuela
Jeremias Soruco
José Ignacio Navarro Ariza
Jhon Freddy Tavera Blandon
Xavier Armando Larios Alvarenga
Eduardo Razo Cobián
Leonardo Claro
Joaquin Ignacio Pinto Reynolds
Daniel Eduardo Rojas Pulido
Alma Julissa Casillas Mendivil
Fernando Sanchez Chavez
Cesar Guevara Cabrera
LUZ MARIBEL PARIONA AROTINCO
Sebastian saenz cruz
👨💻 Reto sobre gestionar productos.
| EndPoint | Method | Body | Response | status |
|---|---|---|---|---|
| ------------ | ---------- | ------- | -------------- | ---------- |
| /products | GET | N/A | [{}, {}, ...] | 200 |
| ------------ | ---------- | ------- | -------------- | ---------- |
| /products/:id | GET | N/A | {} | 200 |
| ------------ | ---------- | ------- | -------------- | ---------- |
| /products/categories | GET | N/A | [{}, {}, ...] | 200 |
| ------------ | ---------- | ------- | -------------- | ---------- |
| /products | POST | {...} | {...} | 201 |
| ------------ | ---------- | ------- | -------------- | ---------- |
| /products/:id | PUT | { } | { } | 201 |
| ------------ | ---------- | ------- | -------------- | ---------- |
| /products/:id | PATCH | { } | { } | 201 |
| ------------ | ---------- | ------- | -------------- | ---------- |
| /products/:id | DELETE | N/A | true / false | 201 |
| ------------ | ---------- | ------- | -------------- | ---------- |
Espero sirva de reto.
Saludos
Los status para delete
204: eliminación exitosa sin respuesta
200: eliminación exitosa con respuesta
202: eliminación en proceso
Saludos
REST (Representational State Transfer) API es un estilo de arquitectura de software que se utiliza para construir servicios web. Una API REST es una interface que se utiliza para interconectar sistemas o aplicaciones, y permite que estos sistemas o aplicaciones envíen y reciban datos entre sí a través de la red.
Una API REST se basa en el protocolo HTTP, y utiliza operaciones HTTP como GET, POST, PUT y DELETE para realizar diversas acciones sobre los datos almacenados en un servidor. Estas operaciones son conocidas como métodos HTTP, y corresponden a las acciones CRUD (Create, Read, Update, Delete) que se pueden realizar sobre los datos.
Por ejemplo, si tienes una aplicación web que almacena información de contactos, podrías utilizar una API REST para permitir que otras aplicaciones accedan y utilicen los datos de tus contactos. La aplicación podría exponer una API REST que permita a otras aplicaciones realizar operaciones como crear un nuevo contacto, obtener la lista de todos los contactos, modificar la información de un contacto existente o eliminar un contacto.
Una API REST se utiliza a menudo para construir servicios web que pueden ser utilizados por diversas aplicaciones o sistemas, y es una forma común de permitir la integración entre diferentes sistemas y plataformas.
La diferencia entre PUT y PATCH es:
Reto de endpoint CRUD de unos productos Create:
/product #POST
Read:
/product #GET /product/:id #GET
Update
/product/:id #PUT/PATCH
Delete
/product/:id #DELETE
7 - Estructura REST API
API REST es un estandar para desarrollar APIs que funcionan en el protocolo HTTP, cualquier framework que elijas tiene esta implementacion
Como funciona?
POSTGETDELETEPUT / PATCH
Ejemplo de métodos a un endpoint:
| Endpoint | method | body | response | status |
|---|---|---|---|---|
| /users | GET | N/A | [ { }, { }…] | 200 |
| /users/:id | GET | N/A | { } | 200 |
| /users | POST | {…} | {…} | 201 |
| /users/:id | PUT / PATCH | {…} | {…} | 201 |
| /users/:id | DELETE | N/A | ✅ (true o false) | 201 |
El status code para DELETE con éxito es 200, no 201. Incluso lo marcan así en la documentación de Mozilla
| endpoint | method | body | response | status |
|---|---|---|---|---|
| /products | get | N/A | [{},{},...] | 200 |
| /products/:id | get | N/A | {} | 200 |
| /products | post | {...} | {...} | 201 |
| /products/:id | put/patch | {...} | {...} | 201 |
| /products/:id | delete | N/A | check | 201 |
¿Como se crean las tablas en comentarios?
APIs en mundo real
Las APIs se aplican en una amplia variedad de aplicaciones y servicios en el mundo real. Algunos ejemplos de cómo se utilizan las APIs en diferentes industrias y aplicaciones incluyen:
El código HTTP 201 se utiliza para indicar que un recurso ha sido creado exitosamente, mientras que el código 200 indica que la solicitud fue exitosa, pero no necesariamente implica que se haya creado un nuevo recurso. En el contexto de una API REST, si usas DELETE para eliminar un recurso y el servidor confirma la eliminación, típicamente se responde con un 204 No Content. Sin embargo, en algunos casos, si se desea indicar que la operación finalizó y se creó un nuevo estado o recurso en respuesta a la eliminación, se puede usar 201. Esto depende del diseño de la API.
axios es un cliente HTTP muy utilizado para hacer peticiones al back-end.
ENDPOINT METHOD BODY RESPONSE STATUS products/ get N/A [{}, {}, ...] 200 products/:id get N/A {} 200 products/ post {...} {...} 201 products/:id put/patch {...} {...} 201 produts/:id delete n/a true/false 201
cont URL = 'https://platzi.com/api/' async function getCourses() { const response = await fetch(`${URL}/courses`) const data = await response.json() return data } getCourses()
PUT y PATCH es: PUT => enviará todos los datos PATCH => enviará los datos que se están actualizando
La respuesta a tu pregunta se refiere a los códigos de estado HTTP utilizados en las APIs REST. Para una solicitud de eliminación (DELETE):
El código 204 No Content se utiliza comúnmente cuando la solicitud se procesa correctamente, pero no hay contenido para enviar en la respuesta. Esto es típico cuando se ha eliminado un recurso.
El código 201 Created es incorrecto para un DELETE ya que se usa principalmente para indicar que un recurso fue creado exitosamente, lo que no aplica aquí.
Por lo tanto, el código correcto para un DELETE es 204.