quando eu rodo ta dando 404 page not found nas duas paginas. o codigo ta sem erro de compilação nenhum. seguem todas as classes:
package main
import (
"net/http"
_ "github.com/lib/pq"
)
func main() {
http.ListenAndServe(":5000", nil)
}
package models
import "web-app/db"
type Produto struct {
Id int
Nome string
Descricao string
Preco float64
Quantidade int
}
func BuscaTodosOsProdutos() []Produto {
db := db.ConectaComBancoDeDados()
selectDeTodosOsProdutos, err := db.Query("select * from produtos")
if err != nil {
panic(err.Error())
}
p := Produto{}
produtos := []Produto{}
for selectDeTodosOsProdutos.Next() {
var id, quantidade int
var nome, descricao string
var preco float64
err = selectDeTodosOsProdutos.Scan(&id, &nome, &descricao, &preco, &quantidade)
if err != nil {
panic(err.Error())
}
p.Nome = nome
p.Descricao = descricao
p.Preco = preco
p.Quantidade = quantidade
produtos = append(produtos, p)
}
defer db.Close()
return produtos
}
package db
import (
"database/sql"
_ "github.com/lib/pq"
)
func ConectaComBancoDeDados() *sql.DB {
conexao := "user=postgres dbname=alura_loja password=admin host=localhost sslmode=disable"
db, err := sql.Open("postgres", conexao)
if err != nil {
panic(err.Error())
}
return db
}
package controllers
import (
"html/template"
"net/http"
"web-app/models"
)
var temp = template.Must(template.ParseGlob("templates/*.html"))
func Index(w http.ResponseWriter, r *http.Request) {
todosOsProdutos := models.BuscaTodosOsProdutos()
temp.ExecuteTemplate(w, "Index", todosOsProdutos)
}
func New(w http.ResponseWriter, r *http.Request) {
temp.ExecuteTemplate(w, "New", nil)
}
package routes
import (
"net/http"
"web-app/controllers"
)
func CarregaRotas() {
http.HandleFunc("/", controllers.Index)
http.HandleFunc("/new", controllers.New)
}