gWebHost¶
Esta librería tiene el objetivo de contener las configuraciones estándar e iniciales para cualquier proyecto de Go que requiera un Host.
Installation¶
Para instalar el paquete, basta con ejecutar el siguiente comando:
go get github.com/architecture-it/gWebHost
Uso¶
A continuación se muestra un ejemplo de cómo utilizar las funciones proporcionadas por esta biblioteca en la función main de tu proyecto:
package main
import (
"github.com/tu_usuario/tu_libreria/WebHost"
"github.com/tu_usuario/tu_libreria/datastore"
"github.com/tu_usuario/tu_libreria/registry"
"github.com/tu_usuario/tu_libreria/router"
)
func main() {
// Cargar la configuración desde el archivo .env
WebHost.GetConfiguration("app.env", "./config")
// Crear la instancia del servidor
server := WebHost.NewServer()
// Crear la instancia de la base de datos y agregar la comprobación de estado
db := datastore.NewDB(server.AddHealthCheck())
// Crear el registro y agregar las rutas
r := registry.NewRegistry(db)
router.NewRouter(server.GetRouter(), r.NewAppController())
// Agregar documentación de la API, comprobación de estado y registro
server.AddApiDocs()
server.AddConfigurationLogging()
// Ejecutar el servicio
server.ListenAndServe()
}
Presenter¶
El paquete presenter
en la biblioteca gWebHost
proporciona funciones para manejar las respuestas HTTP y enviar datos JSON a los clientes. Incluye las siguientes funciones:
Tipos¶
ErrorResponse
: Esta estructura representa la estructura de una respuesta de error estandarizada. Tiene los siguientes campos:Code
: Un entero que representa el código de error.Message
: Una cadena de texto que representa el mensaje de error.Property
: Una cadena de texto opcional que representa la propiedad o campo específico relacionado con el error.
Operaciones¶
JSONResponse¶
JSONResponse
: Esta funcion envia una respuesta JSON al cliente, recibe:w
: Objetohttp.ResponseWriter
utilizado para escribir la respuesta HTTP.statusCode
: Código de estado HTTP que se enviará en la respuesta.data
: Interfaz que contiene los datos que se enviarán como JSON en la respuesta.
JSONError¶
JSONError
: Esta funcion envia una respuesta JSON al cliente, recibe:w
: Objetohttp.ResponseWriter
utilizado para escribir la respuesta HTTP.statusCode
: Código de estado HTTP que se enviará en la respuesta.message
: Mensaje de error que se enviará en la respuesta.property
: Propiedad o campo específico relacionado con el error (opcional).
AddHeader¶
AddHeader
: Esta función agrega un encabezado personalizado a la respuesta HTTP.w
: Objetohttp.ResponseWriter
utilizado para escribir la respuesta HTTP.key
: Key del Header.value
: Value del Header.