Hola, les saluda Miguel y para hoy les traigo este nuevo tutorial.
Creación de una aplicación lista para usar para microservicios en producción en 5
minutos
En este artículo, haremos una API Rest con Golang lista para ejecutarse en producción y configurada para los microservicios.
Todo el contenido que se muestra en este artículo está disponible como una plantilla de Github en el siguiente enlace:
Prerrequisitos
Antes de comenzar, debes tener instalado Golang en tu entorno de desarrollo, por eso aquí dejo algunos enlaces que explican cómo instalarlo:
- Windows 10: https://www.digitalocean.com/community/tutorials/how-to-install-go-and-set-up-a-local-programming-environment-on-windows-10-es.
- Ubuntu 18.04 LTS: https://www.digitalocean.com/community/tutorials/como-instalar-go-en-ubuntu-18-04-es.
- Mac OS: https://www.digitalocean.com/community/tutorials/how-to-install-go-and-set-up-a-local-programming-environment-on-macos-es.
Marcos y bibliotecas utilizados
- github.com/swaggo/gin-swagger
- github.com/gin-gonic/gin
- github.com/dgrijalva/jwt-go
- github.com/jinzhu/gorm
- github.com/spf13/viper
Cómo utilizar esta plantilla
Puede crear un nuevo proyecto en Github si accede al repositorio de plantillas (https://github.com/antonioalfa22/go-rest-template) usando el botón «Usar esta plantilla»:
El uso del botón lo llevará a la página para crear un nuevo repositorio, donde puede elegir si desea incluir todas las ramas o no.
El proyecto se forma siguiendo las buenas prácticas para la estructuración de proyectos en Golang especificadas en https://github.com/golang-standards/project-layout.
-
/ cmd
: En esta carpeta están los archivos de entrada al proyecto (main.go
), así como otros archivos dependiendo del tipo de ejecución (por ejemplo,database.db
,config.yml
, etc.). -
/ docs
: En esta carpeta se guardan los archivos de configuración deswagger
para generar automáticamente la documentación de la API (disponible en http: // localhost: 3000 / docs / index.html). -
/ internal
: El código de la aplicación se divide en dos carpetas:api y pkg
: -
/ internal / api
: Aplicación principal, controladores,middlewares
y enrutador. -
/ internal / pkg
: Modelos, persistencia y base de datos. -
/ pkg
: Módulos reutilizables en otras aplicaciones (por ejemplo:cripto
,manipuladores
, etc.) -
/ test
: Pruebas unitarias del proyecto. -
Makefile
: Facilita el uso de la aplicación, tiene el siguiente formato.
- Dockerfile:
Espero que te sea de utilidad. Gracias por leer este tutorial.
Añadir comentario