SHARE
TWEET

Untitled

a guest Jan 23rd, 2020 58 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. package main
  2.  
  3. import (
  4.     "encoding/json"
  5.     "fmt"
  6.     "log"
  7.     "net/http"
  8.  
  9.     "github.com/gorilla/mux"
  10. )
  11.  
  12. //FUNÇÃO PRINCIPAL
  13. func main() {
  14.  
  15.     subirServidor()
  16. }
  17.  
  18. // STRUCTS
  19.  
  20. type Endereco struct {
  21.     Cidade string `json:"cidade,omitempty"`
  22.     Estado string `json:"estado,omitempty"`
  23. }
  24.  
  25. type Pessoa struct {
  26.     ID        string    `json:"id,omitempty"`
  27.     Nome      string    `json:"nome,omitempty"`
  28.     Sobrenome string    `json:"sobrenome,omitempty"`
  29.     Endereco  *Endereco `json:"endereco,omitempty"`
  30. }
  31.  
  32. var pessoa = []Pessoa{
  33.     Pessoa{ID: "1", Nome: "Alex", Sobrenome: "Santos", Endereco: &Endereco{Cidade: "Cidade X", Estado: "Estado X"}},
  34.     Pessoa{ID: "2", Nome: "Júlio", Sobrenome: "Filgueiras", Endereco: &Endereco{Cidade: "Cidade Z", Estado: "Estado Y"}},
  35.     Pessoa{ID: "3", Nome: "Nadson", Sobrenome: "Souza"},
  36. }
  37.  
  38. //DEMAIS FUNÇÕES
  39.  
  40. func configurarRotas() {
  41.     router := mux.NewRouter().StrictSlash(true)
  42.    
  43.     router.HandleFunc("/contato", GetTodasPessoas).Methods("GET")
  44.     //http.HandleFunc("/contato", GetTodasPessoas)
  45.     router.HandleFunc("/contato", GetTodasPessoas).Methods("GET")
  46.     router.HandleFunc("/contato/{id}", GetPessoa).Methods("GET")
  47.     router.HandleFunc("/contato/{id}", CreatePessoa).Methods("POST")
  48.     router.HandleFunc("/contato/{id}", DeletePessoa).Methods("DELETE")
  49. }
  50.  
  51. func subirServidor() {
  52.     configurarRotas()
  53.     porta := ":1337"
  54.     fmt.Println("O servidor está rodando na porta:" + porta)
  55.     log.Fatal(http.ListenAndServe(porta, nil))
  56. }
  57.  
  58.  
  59. func GetTodasPessoas(w http.ResponseWriter, r *http.Request) {
  60.     json.NewEncoder(w).Encode(pessoa)
  61. }
  62. func GetPessoa(w http.ResponseWriter, r *http.Request)    {}
  63. func CreatePessoa(w http.ResponseWriter, r *http.Request) {}
  64. func DeletePessoa(w http.ResponseWriter, r *http.Request) {}
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Top