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.
Cadenas de texto y manipulación
Selectores y mutexes: concurrencia y exclusión
Agenda de contactos por consola
Composición de structs en lugar de herencia
Estructuras de control
Arrays y slices
Control de flujo y estructuras de bucle
Sistema API REST gestión de libros
Métodos con receptores por valor y por puntero
Generics
Evaluación Go
Métodos HTTP con net/http
Crear e invocar funciones
Operadores y expresiones
Polimorfismo a través de Interfaces
Manejo explícito de errores
Estructuras structs
Tipos de datos, variables y constantes
Introducción a Go
Canales y comunicación entre Goroutines
Condiciones de carrera
Punteros y referencias
Goroutines y concurrencia básica
Instalación Go primer programa
Errores personalizados y trazabilidad
Estructuras de datos Mapas
Cliente de API OpenWeatherMap clima
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