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ʹॻ͘ ΤϥʔϋϯυϦϯά