Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package main
- import (
- "encoding/json"
- "log"
- "fmt"
- "net/http"
- "github.com/gorilla/mux"
- )
- // STRUCTS
- type Endereco struct {
- Cidade string `json:"cidade,omitempty"`
- Estado string `json:"estado,omitempty"`
- }
- type Pessoa struct {
- ID string `json:"id,omitempty"`
- Nome string `json:"nome,omitempty"`
- Sobrenome string `json:"sobrenome,omitempty"`
- Endereco *Endereco `json:"endereco,omitempty"`
- }
- var pessoa []Pessoa
- pessoa = append(pessoa, Pessoa{ID: "1", Nome: "Alex", Sobrenome: "Santos", Endereco: &Endereco{Cidade: "Cidade X", Estado: "Estado X"}})
- pessoa = append(pessoa, Pessoa{ID: "2", Nome: "Júlio", Sobrenome: "Filgueiras", Endereco: &Endereco{Cidade: "Cidade Z", Estado: "Estado Y"}})
- pessoa = append(pessoa, Pessoa{ID: "3", Nome: "Nadson", Sobrenome: "Souza"})
- // FUNÇÕES
- func configurarRotas() {
- router := mux.NewRouter()
- router.HandleFunc("/contato", GetTodasPessoas).Methods("GET")
- router.HandleFunc("/contato/{id}", GetPessoa).Methods("GET")
- router.HandleFunc("/contato/{id}", CreatePessoa).Methods("POST")
- router.HandleFunc("/contato/{id}", DeletePessoa).Methods("DELETE")
- }
- func subirServidor() {
- configurarRotas()
- fmt.Println("O servidor está rodando na porta 8080")
- log.Fatal(http.ListenAndServe(":8080", nil))
- }
- func GetTodasPessoas(w http.ResponseWriter, r *http.Request) {
- json.NewEncoder(w).Encode(pessoa)
- }
- func GetPessoa(w http.ResponseWriter, r *http.Request) {}
- func CreatePessoa(w http.ResponseWriter, r *http.Request) {}
- func DeletePessoa(w http.ResponseWriter, r *http.Request) {}
- func main() {
- subirServidor()
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement