Creación de REST API con Go y MySQL - Usuario Peru TI

Últimas entradas

Creación de REST API con Go y MySQL

Go es un lenguaje creado por Google allá por el 2009, y se está extendiendo como una nueva alternativa a otros lenguajes ya asentados como Java, Python o C/C++ entre otros.

Si bien existen bastantes frameworks para crear APIs en la mayoría de los casos no es necesario, cuando recurrimos a Go para realizar un proyecto es porque es más ligero y rápido que otros lenguajes actuales.

Creación de objetos de base de datos

Conexión a la base de datos

Definimos el paquete database e importamos la dependencia “database/sql” para la comunicación con la base de datos MySQL, en la función InitDB() definimos los parámetros de conexión a la base de datos.

Mas información de los drivers de conexiones a bases de datos SQL en el siguiente enlace https://golang.org/pkg/database/sql/

  • “api-rest-go/database”: Carpeta donde se encuentra la conexion a la base de datos mysql
  • “database/sql”: Paquete sql, proporciona una interfaz genérica para bases de datos SQL
  • “encoding/json”: Paquete json que implementa la codificación y decodificación de JSON
  • “net/http”: Paquete http, proporciona implementaciones de servidor y cliente HTTP.
  • “github.com/go-chi/chi”: Enrutador ligero para construir servicios Go via HTTP
  • _ “github.com/go-sql-driver/mysql”: Controlador MySQL para el paquete de base de datos sql de Go

Se define una variable para la comunicación con el driver de base de datos y se define un tipo de dato types.

Con la función catch definimos el manejo de errores, será reutilizada por el resto de funciones

En la función main definimos las rutas de nuestra API REST

Con la función AllProductos se devolverá una la colección de productos.

La función CreateProducto permitirá, a traves del verbo POST, crear un nuevo producto.

Con la función UpdateProducto, permitirá actualizar un producto.

La función DeleteProducto permitirá eliminar un producto.

La función respondwithJSON permite devolver las respuestas en formato Json.

Mas detalle en el repositorio https://github.com/jorgedison/api-rest-go

En un próximo post se utilizará un framework donde se haría mención a conceptos como models, services, repository.

Fuente:

Share on FacebookTweet about this on TwitterShare on Google+

Agregue un comentario

Su dirección de correo no se hará público. Los campos requeridos están marcados *