考慮 main/entry 函數(shù)中的以下代碼 r := chi.NewRouter() r.Use(middleware.RequestID) r.Use(middleware.RealIP) r.Use(middleware.Logger) r.Use(middleware.Recoverer) r.Post("/book", controllers.CreateBook) http.ListenAndServe(":3333", r)和 CreateBook 函數(shù)定義為 func CreateBook(w http.ResponseWriter, r *http.Request) { w.Header().Set("content-type", "application/json") var bookObj models.Book err := json.NewDecoder(r.Body).Decode(&bookObj) spew.Dump(bookObj) collection := db.Client.Database("bookdb").Collection("book") ctx, _ := context.WithTimeout(context.Background(), 5*time.Second) insertResult, err := collection.InsertOne(ctx, bookObj) if err != nil { log.Fatal(err) } json.NewEncoder(w).Encode(insertResult) }書籍模型//exporting attributes here solved the issuetype Book struct { ID primitive.ObjectID `json:"id,omitempty" bson:"id,omitempty"` name string `json:"name,omitempty" bson:"name,omitempty"` author string `json:"author,omitempty" bson:"author,omitempty"` isbn string `json:"isbn,omitempty" bson:"isbn,omitempty"`}但是,json.NewDecoder(r.Body).Decode(&bookObj)不會解析任何內(nèi)容req.Body,因為它是空的,不會拋出錯誤,它與 chi 的Render函數(shù)有關。任何人都可以幫助我禁用Render和Bind的功能chi,我只想通過 JSON 解碼器解析正文。
1 回答

子衿沉夜
TA貢獻1828條經(jīng)驗 獲得超3個贊
導出結構的所有字段解決了該問題。
type Book struct {
ID? ? ?primitive.ObjectID `json:"id,omitempty" bson:"id,omitempty"`
Name? ?string? ? ? ? ? ? ?`json:"name,omitempty" bson:"name,omitempty"`
Author string? ? ? ? ? ? ?`json:"author,omitempty" bson:"author,omitempty"`
ISBN? ?string? ? ? ? ? ? ?`json:"isbn,omitempty" bson:"isbn,omitempty"`
}
- 1 回答
- 0 關注
- 124 瀏覽
添加回答
舉報
0/150
提交
取消