CursosEmpresasBlogLiveConfPrecios

Estructura REST API

Clase 7 de 19 • Curso de Introducción al Desarrollo Backend

Clase anteriorSiguiente clase

Contenido del curso

Roles del desarrollo web

  • 1
    Los roles del desarrollo backend

    Los roles del desarrollo backend

    02:13 min
  • 2
    Frontend, Backend y Full Stack

    Frontend, Backend y Full Stack

    06:01 min

Fundamentos del backend

  • 3
    ¿Cómo se construye el backend?

    ¿Cómo se construye el backend?

    05:59 min
  • 4
    ¿Cómo escoger lenguajes y frameworks para backend?

    ¿Cómo escoger lenguajes y frameworks para backend?

    02:20 min
  • 5
    HTTP

    HTTP

    09:29 min

APIs REST

  • 6
    ¿Qué son las APIs?

    ¿Qué son las APIs?

    02:41 min
  • 7
    Estructura REST API

    Estructura REST API

    Viendo ahora
  • 8
    Insomnia y Postman

    Insomnia y Postman

    15:25 min

Backend en el dia a día

  • 9
    La nube

    La nube

    02:45 min
  • 10
    DevOps

    DevOps

    04:22 min
  • 11
    El servidor

    El servidor

    04:26 min
  • 12
    Cookies y sesiones

    Cookies y sesiones

    04:18 min
  • 13
    Bases de datos

    Bases de datos

    08:55 min

Escalabilidad en el backend

  • 14
    ¿Qué es el escalamiento?

    ¿Qué es el escalamiento?

    07:42 min
  • 15
    ¿Qué es la replicación?

    ¿Qué es la replicación?

    05:26 min
  • 16
    ¿Qué es la caché?

    ¿Qué es la caché?

    06:08 min
  • 17
    Colas de tareas

    Colas de tareas

    07:53 min
  • 18
    Server-Side Rendering

    Server-Side Rendering

    06:36 min

Próximos pasos

  • 19
    ¿Qué aprender ahora?

    ¿Qué aprender ahora?

    01:02 min
  • Tomar el examen del curso
    • Juan Carlos Montilla Sánchez

      Juan Carlos Montilla Sánchez

      student•
      hace 3 años

      👨‍💻 Reto sobre gestionar productos.

      EndPointMethodBodyResponsestatus
      -----------------------------------------------------
      /productsGETN/A[{}, {}, ...]200
      -----------------------------------------------------
      /products/:idGETN/A{}200
      -----------------------------------------------------
      /products/categoriesGETN/A[{}, {}, ...]200
      -----------------------------------------------------
      /productsPOST{...}{...}201
      -----------------------------------------------------
      /products/:idPUT{ }{ }201
      -----------------------------------------------------
      /products/:idPATCH{ }{ }201
      -----------------------------------------------------
      /products/:idDELETEN/Atrue / false201
      -----------------------------------------------------

      Espero sirva de reto.

      Saludos

        Edgardo Zambrano

        Edgardo Zambrano

        student•
        hace un mes

        Los status para delete

        204: eliminación exitosa sin respuesta

        200: eliminación exitosa con respuesta

        202: eliminación en proceso

        Saludos

      Michelle Verano

      Michelle Verano

      student•
      hace 3 años

      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.

      Antonio Demarco Bonino

      Antonio Demarco Bonino

      student•
      hace 3 años

      La diferencia entre PUT y PATCH es:

      • PUT == enviará todos los datos
      • PATCH == enviará los datos que se están actualizando
      Antonio Demarco Bonino

      Antonio Demarco Bonino

      student•
      hace 3 años

      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
      Rolando Tarqui Benito

      Rolando Tarqui Benito

      student•
      hace 3 años

      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

      • A través de los endpoints se le pide información al dominio, por lo general se nos devuelve la información empaquetada en un JSON.

      Como funciona?

      • CRUD es el índice de unas palabras clave, y en el protocolo HTTP tenemos métodos para llevarlas a cabo:
        • Create (crear) → POST
        • Read (leer) → GET
        • Delete (eliminar) → DELETE
        • Update (actualizar) → PUT / PATCH
          • PUT envía la totalidad de los datos, mientras que patch envía solo los datos destinados a actualizarse

      Ejemplo de métodos a un endpoint:

      Endpointmethodbodyresponsestatus
      /usersGETN/A[ { }, { }…]200
      /users/:idGETN/A{ }200
      /usersPOST{…}{…}201
      /users/:idPUT / PATCH{…}{…}201
      /users/:idDELETEN/A✅ (true o false)201
      Miguel Angel Reyes Moreno

      Miguel Angel Reyes Moreno

      student•
      hace 3 años

      El status code para DELETE con éxito es 200, no 201. Incluso lo marcan así en la documentación de Mozilla

      Juan Esteban Sierra Agudelo

      Juan Esteban Sierra Agudelo

      student•
      hace 2 años
      1_2eBdh0vLZjUyCDF6x1EqvQ.png
      José Ignacio Navarro Ariza

      José Ignacio Navarro Ariza

      student•
      hace 3 años

      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:

      1. Comercio electrónico: Las APIs se utilizan para permitir a las tiendas en línea acceder a los servicios de pago, como PayPal o Stripe, para procesar pagos de los clientes.
      2. Redes sociales: Las APIs de redes sociales, como Facebook, Twitter e Instagram, permiten a los desarrolladores crear aplicaciones que se integran con estas plataformas y acceden a los datos de los usuarios.
      3. Transporte: Las APIs se utilizan en aplicaciones de transporte para mostrar información sobre las rutas, horarios, tarifas y disponibilidad de transporte público, así como para permitir a los usuarios reservar y pagar por viajes.
      4. Finanzas: Las APIs se utilizan en aplicaciones financieras para acceder a los datos de la bolsa, las tasas de cambio de divisas, los informes de crédito y otras fuentes de información financiera.
      5. Salud: Las APIs se utilizan en aplicaciones de salud para acceder a datos de pacientes, información de seguros, registros médicos y otros datos de salud importantes.
      6. Servicios gubernamentales: Las APIs se utilizan en aplicaciones gubernamentales para proporcionar información sobre los servicios, procesos y leyes gubernamentales, y permitir a los ciudadanos realizar trámites y solicitudes en línea.
      Camila Clari Orihuela

      Camila Clari Orihuela

      student•
      hace 3 años
      endpointmethodbodyresponsestatus
      /productsgetN/A[{},{},...]200
      /products/:idgetN/A{}200
      /productspost{...}{...}201
      /products/:idput/patch{...}{...}201
      /products/:iddeleteN/Acheck201
        Jeremias Soruco

        Jeremias Soruco

        student•
        hace 3 años

        ¿Como se crean las tablas en comentarios?

      Francisco Javier Cervantes Candelario

      Francisco Javier Cervantes Candelario

      student•
      hace 3 años

      axios es un cliente HTTP muy utilizado para hacer peticiones al back-end.

      https://axios-http.com/

      Jhon Freddy Tavera Blandon

      Jhon Freddy Tavera Blandon

      student•
      hace 9 meses
      Leonardo Claro

      Leonardo Claro

      student•
      hace 16 días
      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
      Alma Julissa Casillas Mendivil

      Alma Julissa Casillas Mendivil

      student•
      hace 3 años
      reto.png
      Fernando Sanchez Chavez

      Fernando Sanchez Chavez

      student•
      hace 3 años

      PUT y PATCH es: PUT => enviará todos los datos PATCH => enviará los datos que se están actualizando

      Luis Gonzalez

      Luis Gonzalez

      student•
      hace 4 días

      Les dejo un video donde se explica en profundidad este tema: https://www.youtube.com/watch?v=LQdJG8Qc5xo

        David Castro

        David Castro

        student•
        hace 4 horas

        Muchas gracias, Luis!

      Joaquin Pinto

      Joaquin Pinto

      student•
      hace 15 días
      •
      editado
      cont URL = 'https://platzi.com/api/' async function getCourses() { const response = await fetch(`${URL}/courses`) const data = await response.json() return data } getCourses()
      Xavier Armando Larios Alvarenga

      Xavier Armando Larios Alvarenga

      student•
      hace 3 meses

      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.

      Luis Abdel Rangel Castro

      Luis Abdel Rangel Castro

      student•
      hace 3 meses

      For a successful PATCH request in a REST API, you should generally return one of two HTTP status codes: 

      • 200 OK: Return this code if the request was successful and you are sending a response body that includes the updated representation of the resource. For example, if you were updating a user's name, you might return the full, updated user object.
      • 204 No Content: Return this code if the request was successful but you do not need to send any content in the response body. This is useful for bandwidth conservation when the client does not need to see the updated data to continue its work.
      Juan Pablo Alfonso

      Juan Pablo Alfonso

      student•
      hace un mes

      Para estructurar URIs correctamente, enfócate en recursos (sustantivos) y su jerarquía, evitando verbos en la URL. Por ejemplo, GET /usuarios o GET /usuarios/{id} comunican claramente la acción sobre el recurso. Esto mejora la legibilidad y la predictibilidad de tu API.

      Alma Julissa Casillas Mendivil

      Alma Julissa Casillas Mendivil

      student•
      hace 3 años

      al hacer una solicitud con los métodos http, ¿las respuestas se generan automáticamente, o nosotros de forma programática indicamos qué código queremos enviar de respuesta?

        Pedro Andrés Chaparro Quintero

        Pedro Andrés Chaparro Quintero

        student•
        hace 3 años

        Normalmente nosotros programamos lo que queremos que el servidor regrese como respuesta, eso incluye validaciones, autorización, peticiones a la base de datos, formato de la respuesta, etc. Para eso se usan los frameworks que se mencionaron en clases pasadas.

    Escuelas

    • Desarrollo Web
      • Fundamentos del Desarrollo Web Profesional
      • Diseño y Desarrollo Frontend
      • Desarrollo Frontend con JavaScript
      • Desarrollo Frontend con Vue.js
      • Desarrollo Frontend con Angular
      • Desarrollo Frontend con React.js
      • Desarrollo Backend con Node.js
      • Desarrollo Backend con Python
      • Desarrollo Backend con Java
      • Desarrollo Backend con PHP
      • Desarrollo Backend con Ruby
      • Bases de Datos para Web
      • Seguridad Web & API
      • Testing Automatizado y QA para Web
      • Arquitecturas Web Modernas y Escalabilidad
      • DevOps y Cloud para Desarrolladores Web
    • English Academy
      • Inglés Básico A1
      • Inglés Básico A2
      • Inglés Intermedio B1
      • Inglés Intermedio Alto B2
      • Inglés Avanzado C1
      • Inglés para Propósitos Específicos
      • Inglés de Negocios
    • Marketing Digital
      • Fundamentos de Marketing Digital
      • Marketing de Contenidos y Redacción Persuasiva
      • SEO y Posicionamiento Web
      • Social Media Marketing y Community Management
      • Publicidad Digital y Paid Media
      • Analítica Digital y Optimización (CRO)
      • Estrategia de Marketing y Growth
      • Marketing de Marca y Comunicación Estratégica
      • Marketing para E-commerce
      • Marketing B2B
      • Inteligencia Artificial Aplicada al Marketing
      • Automatización del Marketing
      • Marca Personal y Marketing Freelance
      • Ventas y Experiencia del Cliente
      • Creación de Contenido para Redes Sociales
    • Inteligencia Artificial y Data Science
      • Fundamentos de Data Science y AI
      • Análisis y Visualización de Datos
      • Machine Learning y Deep Learning
      • Data Engineer
      • Inteligencia Artificial para la Productividad
      • Desarrollo de Aplicaciones con IA
      • AI Software Engineer
    • Ciberseguridad
      • Fundamentos de Ciberseguridad
      • Hacking Ético y Pentesting (Red Team)
      • Análisis de Malware e Ingeniería Forense
      • Seguridad Defensiva y Cumplimiento (Blue Team)
      • Ciberseguridad Estratégica
    • Liderazgo y Habilidades Blandas
      • Fundamentos de Habilidades Profesionales
      • Liderazgo y Gestión de Equipos
      • Comunicación Avanzada y Oratoria
      • Negociación y Resolución de Conflictos
      • Inteligencia Emocional y Autogestión
      • Productividad y Herramientas Digitales
      • Gestión de Proyectos y Metodologías Ágiles
      • Desarrollo de Carrera y Marca Personal
      • Diversidad, Inclusión y Entorno Laboral Saludable
      • Filosofía y Estrategia para Líderes
    • Diseño de Producto y UX
      • Fundamentos de Diseño UX/UI
      • Investigación de Usuarios (UX Research)
      • Arquitectura de Información y Usabilidad
      • Diseño de Interfaces y Prototipado (UI Design)
      • Sistemas de Diseño y DesignOps
      • Redacción UX (UX Writing)
      • Creatividad e Innovación en Diseño
      • Diseño Accesible e Inclusivo
      • Diseño Asistido por Inteligencia Artificial
      • Gestión de Producto y Liderazgo en Diseño
      • Diseño de Interacciones Emergentes (VUI/VR)
      • Desarrollo Web para Diseñadores
      • Diseño y Prototipado No-Code
    • Contenido Audiovisual
      • Fundamentos de Producción Audiovisual
      • Producción de Video para Plataformas Digitales
      • Producción de Audio y Podcast
      • Fotografía y Diseño Gráfico para Contenido Digital
      • Motion Graphics y Animación
      • Contenido Interactivo y Realidad Aumentada
      • Estrategia, Marketing y Monetización de Contenidos
    • Desarrollo Móvil
      • Fundamentos de Desarrollo Móvil
      • Desarrollo Nativo Android con Kotlin
      • Desarrollo Nativo iOS con Swift
      • Desarrollo Multiplataforma con React Native
      • Desarrollo Multiplataforma con Flutter
      • Arquitectura y Patrones de Diseño Móvil
      • Integración de APIs y Persistencia Móvil
      • Testing y Despliegue en Móvil
      • Diseño UX/UI para Móviles
    • Diseño Gráfico y Arte Digital
      • Fundamentos del Diseño Gráfico y Digital
      • Diseño de Identidad Visual y Branding
      • Ilustración Digital y Arte Conceptual
      • Diseño Editorial y de Empaques
      • Motion Graphics y Animación 3D
      • Diseño Gráfico Asistido por Inteligencia Artificial
      • Creatividad e Innovación en Diseño
    • Programación
      • Fundamentos de Programación e Ingeniería de Software
      • Herramientas de IA para el trabajo
      • Matemáticas para Programación
      • Programación con Python
      • Programación con JavaScript
      • Programación con TypeScript
      • Programación Orientada a Objetos con Java
      • Desarrollo con C# y .NET
      • Programación con PHP
      • Programación con Go y Rust
      • Programación Móvil con Swift y Kotlin
      • Programación con C y C++
      • Administración Básica de Servidores Linux
    • Negocios
      • Fundamentos de Negocios y Emprendimiento
      • Estrategia y Crecimiento Empresarial
      • Finanzas Personales y Corporativas
      • Inversión en Mercados Financieros
      • Ventas, CRM y Experiencia del Cliente
      • Operaciones, Logística y E-commerce
      • Gestión de Proyectos y Metodologías Ágiles
      • Aspectos Legales y Cumplimiento
      • Habilidades Directivas y Crecimiento Profesional
      • Diversidad e Inclusión en el Entorno Laboral
      • Herramientas Digitales y Automatización para Negocios
    • Blockchain y Web3
      • Fundamentos de Blockchain y Web3
      • Desarrollo de Smart Contracts y dApps
      • Finanzas Descentralizadas (DeFi)
      • NFTs y Economía de Creadores
      • Seguridad Blockchain
      • Ecosistemas Blockchain Alternativos (No-EVM)
      • Producto, Marketing y Legal en Web3
    • Recursos Humanos
      • Fundamentos y Cultura Organizacional en RRHH
      • Atracción y Selección de Talento
      • Cultura y Employee Experience
      • Gestión y Desarrollo de Talento
      • Desarrollo y Evaluación de Liderazgo
      • Diversidad, Equidad e Inclusión
      • AI y Automatización en Recursos Humanos
      • Tecnología y Automatización en RRHH
    • Finanzas e Inversiones
      • Fundamentos de Finanzas Personales y Corporativas
      • Análisis y Valoración Financiera
      • Inversión y Mercados de Capitales
      • Finanzas Descentralizadas (DeFi) y Criptoactivos
      • Finanzas y Estrategia para Startups
      • Inteligencia Artificial Aplicada a Finanzas
      • Domina Excel
      • Financial Analyst
      • Conseguir trabajo en Finanzas e Inversiones
    • Startups
      • Fundamentos y Validación de Ideas
      • Estrategia de Negocio y Product-Market Fit
      • Desarrollo de Producto y Operaciones Lean
      • Finanzas, Legal y Fundraising
      • Marketing, Ventas y Growth para Startups
      • Cultura, Talento y Liderazgo
      • Finanzas y Operaciones en Ecommerce
      • Startups Web3 y Blockchain
      • Startups con Impacto Social
      • Expansión y Ecosistema Startup
    • Cloud Computing y DevOps
      • Fundamentos de Cloud y DevOps
      • Administración de Servidores Linux
      • Contenerización y Orquestación
      • Infraestructura como Código (IaC) y CI/CD
      • Amazon Web Services
      • Microsoft Azure
      • Serverless y Observabilidad
      • Certificaciones Cloud (Preparación)
      • Plataforma Cloud GCP

    Platzi y comunidad

    • Platzi Business
    • Live Classes
    • Lanzamientos
    • Executive Program
    • Trabaja con nosotros
    • Podcast

    Recursos

    • Manual de Marca

    Soporte

    • Preguntas Frecuentes
    • Contáctanos

    Legal

    • Términos y Condiciones
    • Privacidad
    • Tyc promociones
    Reconocimientos
    Reconocimientos
    Logo reconocimientoTop 40 Mejores EdTech del mundo · 2024
    Logo reconocimientoPrimera Startup Latina admitida en YC · 2014
    Logo reconocimientoPrimera Startup EdTech · 2018
    Logo reconocimientoCEO Ganador Medalla por la Educación T4 & HP · 2024
    Logo reconocimientoCEO Mejor Emprendedor del año · 2024
    De LATAM conpara el mundo
    YoutubeInstagramLinkedInTikTokFacebookX (Twitter)Threads