main.go 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. package main
  2. import (
  3. "net/http"
  4. "github.com/CesarSSH/api-estudiantes/db"
  5. "github.com/CesarSSH/api-estudiantes/models"
  6. "github.com/CesarSSH/api-estudiantes/routes"
  7. "github.com/gorilla/mux"
  8. )
  9. func main() {
  10. //Execute this func to connect my DB
  11. db.DBConnection()
  12. //Migrations
  13. db.DB.AutoMigrate(models.Estudiante{})
  14. db.DB.AutoMigrate(models.Categoria{})
  15. //Create a new router
  16. router := mux.NewRouter()
  17. //Default response
  18. router.HandleFunc("/api/v1/", routes.HomeHandler)
  19. //Estudiantes
  20. router.HandleFunc("/api/v1/estudiantes", routes.GetEstudiantesHandler).Methods("GET")
  21. router.HandleFunc("/api/v1/estudiante", routes.PostEstudianteHandler).Methods("POST")
  22. router.HandleFunc("/api/v1/estudiante/{id}", routes.DeleteEstudianteHandler).Methods("DELETE")
  23. router.HandleFunc("/api/v1/estudiante/{id}", routes.GetEstudianteByIdHandler).Methods("GET")
  24. //Categorias
  25. router.HandleFunc("/api/v1/categorias", routes.GetCategoriasHandler).Methods("GET")
  26. router.HandleFunc("/api/v1/categoria", routes.PostCategoriaHandler).Methods("POST")
  27. // Start the server
  28. http.ListenAndServe(":8080", router)
  29. }