Ejercicio de programación con Go: API REST con net/http
0h 30m
Go: Desarrolla una API REST usando net/http para manejar tareas. Aprende a implementar funcionalidades esenciales como crear, listar y actualizar en el lenguaje GoLang.
En este ejercicio de programación, se debe desarrollar una API REST en el lenguaje Go empleando el paquete estándar net/http
.
La API tendrá la funcionalidad de gestionar una lista de tareas. El objetivo es implementar varias funciones esenciales de tal manera que se permita la creación de nuevas tareas, listar todas las tareas almacenadas, actualizar el estado de una tarea en particular y eliminar cualquier tarea específica.
El ejercicio incluye condiciones específicas que deben ser manejadas correctamente, como la generación automática de un identificador secuencial para cada tarea creada y la gestión de errores en caso de que una tarea no se encuentre.
Las respuestas deberán ser en formato JSON, y es obligatorio incluir los códigos de estado HTTP que sean adecuados para cada operación, tales como 201 Created
, 200 OK
, y 404 Not Found
si ocurre un error.
Este tipo de reto no solamente evalúa las habilidades de programación, sino también el entendimiento del protocolo HTTP y cómo se traduce a la construcción de una API funcional y eficiente dentro del entorno de Go.
Desarrolla un API REST en Go utilizando el paquete estándar net/http
que permita gestionar una lista de tareas (tasks). Implementa las siguientes funcionalidades:
- Crear una tarea: Utiliza una petición HTTP POST a la ruta
/tasks
para añadir una nueva tarea. La información de la tarea debe incluir unid
, unnombre
y unestado
(pendiente o completado) en formato JSON. Asigna automáticamente elid
de la tarea como un número secuencial basado en la longitud actual de la lista de tareas. - Listar todas las tareas: Utiliza una petición HTTP GET a la ruta
/tasks
para devolver la lista completa de tareas en formato JSON. - Actualizar el estado de una tarea: Utiliza una petición HTTP PATCH a la ruta
/tasks/{id}
para actualizar elestado
de una tarea específica. Asegúrate de manejar correctamente los casos en los que elid
no exista. - Eliminar una tarea: Utiliza una petición HTTP DELETE a la ruta
/tasks/{id}
para eliminar una tarea específica de la lista. Devuelve un error si elid
no se encuentra.
Requisitos adicionales:
- Todos los manejadores deben devolver respuestas HTTP adecuadas, como
201 Created
,200 OK
,204 No Content
, y404 Not Found
cuando corresponda. - Asegúrate de que las respuestas del API estén en formato JSON y que incluyan los encabezados HTTP apropiados para indicar el tipo de contenido.
Todos los ejercicios de programación de Go
Evalúa tus conocimientos con ejercicios de programación en Go de tipo Test, Puzzle, Código y Proyecto con VSCode.
Control de flujo y estructuras de bucle
Tipos de datos, variables y constantes
Composición de structs en lugar de herencia
Estructuras de control
Arrays y slices
Operadores y expresiones
Instalación Go primer programa
Errores personalizados y trazabilidad
Sistema API REST gestión de libros
Polimorfismo a través de Interfaces
Canales y comunicación entre Goroutines
Goroutines y concurrencia básica
Agenda de contactos por consola
Métodos HTTP con net/http
Métodos con receptores por valor y por puntero
Evaluación Go
Crear e invocar funciones
Estructuras structs
Introducción a Go
Estructuras de datos Mapas
Certificados de superación de Go
Supera todos los retos de Go y obtén estos certificados de superación para mejorar tu currículum y tu empleabilidad.
Tutorial para resolver este ejercicio de programación
Go
API REST con net/http
Comunicación por HTTP