HTTP- - , ServeHTTP(), :
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
if !ok {
str := `{"Result":"","Error":"No valide Var"}`
fmt.Fprint(w, str)
return
}
})
panic(http.ListenAndServe(":8080", nil))
:
API , HTTP 200 OK. http.Error(), :
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
if !ok {
http.Error(w, `Invalid input params!`, http.StatusBadRequest)
return
}
})
, JSON :
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
if !ok {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(http.StatusBadRequest)
str := `{"Result":"","Error":"No valide Var"}`
fmt.Fprint(w, str)
return
}
})
, , ""
ServeHTTP(), . , ServeHTTP(), , ServeHTTP() .
, , :
type params struct {
}
func decodeParams(r *http.Request) (*params, error) {
p := new(params)
if !ok {
return nil, errors.New("Invalid params")
}
return p, nil
}
:
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
p, err := decodeParams(r)
if err != nil {
http.Error(w, `Invalid input params!`, http.StatusBadRequest)
return
}
})
. : Golang, func func?