Go net / http тело запроса всегда ноль - PullRequest
0 голосов
/ 28 октября 2018

Тело http-запроса всегда равно нулю.Почему это происходит?Я использую инструментарий gokit.Код ниже является частью обработчика.

    func decodeAddRequest(_ context.Context, r *http1.Request) (interface{}, error) {
    req := endpoint.AddRequest{}
    p, _ := ioutil.ReadAll(r.Body)
    fmt.Printf("%s\n", p)
    err := json.NewDecoder(r.Body).Decode(&req)
    return req, err
}

Мой запрос POST JSON выглядит следующим образом

{
    "title": "test test",
    "complete": false
}

И то, что сохраняется в базе данных,

{
    "title": "",
    "complete": false
}

Типы являются:

type AddRequest struct {
    Todo io.Todo `json:"todo"`
}

type Todo struct {
    Id       bson.ObjectId `json:"id" bson:"_id"`
    Title    string        `json:"title" bson:"title"`
    Complete bool          `json:"complete" bson:"complete"`
}

1 Ответ

0 голосов
/ 29 октября 2018

JSON для элемента todo, а не для CreateRequest.Unmasrhal to todo item:

err := json.NewDecoder(r.Body).Decode(&req.Todo)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...