Slide 13
Slide 13 text
©2018 Wantedly, Inc.
// Boilerplate code for JSON API server in net/http
// ちょっとした誇張表現がはいっているかも
func CreateBook(w http.ResponseWriter, r *http.Request) {
data, err := ioutil.ReadAll(r)
if err != nil {
http.Error(w, err.Error(), http.StatusBadRequest)
return
}
req := &CreateBookRequest{}
if err = json.Unmarshal(data, book); err != nil {
http.Error(w, err.Error(), http.StatusBadRequest)
return
}
// ここが本当に実現したいロジック
w.WriteHeader(http.StatusCreated)
if err := json.NewEncoder(w).Encode(book); err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
return
}
}
(PͷͭΒ͞
Boilerplate in net/http
FH$36%ͷ$ʢ$SFBUFʣͷ࣮XJUInet/http
IUUQ3FRVFTU͔ΒCPEZಡΈग़͠
ΤϥʔϋϯυϦϯά
CPEZΛTUSVDUʹVONBSTIBM
ΤϥʔϋϯυϦϯά
ຊʹ࣮ݱ͍ͨ͠ϩδοΫΛॻ͘
ΤϥʔϋϯυϦϯά
+40/ʹNBSTIBMͯ͠SFTQPOTFʹॻ͘
ΤϥʔϋϯυϦϯά