Olá, pessoal!!
Estou pensandou em algo q não esta claro para mim no curso. Qual a vantagem de usar o Gin ao invez do package default http do Go?
Olá, pessoal!!
Estou pensandou em algo q não esta claro para mim no curso. Qual a vantagem de usar o Gin ao invez do package default http do Go?
Na ponta do lápis gin, echo, mux são 70% http, a vantagem de utilizar os demais ao invés do http original é que pro exemplo o gin utiliza um sistema chamad httprouter que é mais leve e rápido que seu antecessor (http).
Outro ponto é que o boilerplate ou (template) no gin é extremamente reduzido então fica mais fácil é mais simples de codar. ex: http
func main() {
mux := http.NewServeMux()
mux.HandleFunc("/ping", func(writer http.ResponseWriter, request *http.Request) {
switch request.Method {
case "GET":
writer.WriteHeader(http.StatusOK)
fmt.Fprint(writer, "pong")
default:
http.NotFound(writer, request)
}
})
s := &http.Server{
Addr: ":8080",
Handler: mux,
}
log.Fatal(s.ListenAndServe())
}
Ex: Gin:
func main() {
s := gin.New()
s.GET("/ping", func(c *gin.Context) {
c.String(http.StatusOK, "pong")
})
log.Fatal(http.ListenAndServe(":8080", s))
}.
Um dos melhores pontos na minha opinião que o fiber, echo e gin fazem muito bem é tratar a api por método e path simultâneo, enquanto o http você realiza apenas o path e tem que fazer um fork para os métodos.
Agora o do porque utilizar gin ao invés de echo,gofiber, mux e http é que cada library possui funções únicas algumas focadas para verificar health check de apis, outras como latência e sobrecarga. Então vale estudar cada um para ver qual melhor se encaixa em seu projeto.