package main import ( "encoding/json" "fmt" "html" "log" "net/http" "time" "github.com/gorilla/mux" ) // Zrobione ostatnio: // Podstawowe struktury modeli; niezbędne enumy; // Zrobione: // Podstawowy serwer; // // Do zrobienia: // Funkcje modeli; Interfejsy json; łączenie z bazą danych; Rozne metody do tworzenia komend sql; // Komunikacja z aplikacja desktopowa; Walidacja danych!! ; func main() { xx := getXxx() xx.Pesel = "ssss" muxRouter := mux.NewRouter().StrictSlash(true) muxRouter.HandleFunc("/", index) muxRouter.HandleFunc("/getfromdb", getAll) muxRouter.HandleFunc("/getfromdb/{primaryKey}", getIndex) log.Fatal(http.ListenAndServe(":8080", muxRouter)) } func index(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, "Hello, %q", html.EscapeString(r.URL.Path)) } func getAll(w http.ResponseWriter, r *http.Request) { patientsList := patients{ patient{"kss", "dasda", "asdasd a", time.Now(), patientStates(critical), sex(m), "xxx@yyy.zz"}, patient{"00112245789", "Adam", "Marcel", time.Now(), patientStates(stable), sex(k), "xxxx@yyy.zz"}, } json.NewEncoder(w).Encode(patientsList) } func getIndex(w http.ResponseWriter, r *http.Request) { args := mux.Vars(r) pk := args["primaryKey"] fmt.Fprintf(w, "Tutaj bedzie wynik dla PK = %s", pk) } func getXxx() patient { pat := patient{"kss", "dasda", "asdasd a", time.Now(), patientStates(critical), sex(m), "xxx@yyy.zz"} return pat }