使用beego,请求体为空

beego框架,其中有个controller如下

func (m *MapWorker) Map() {

    // 获取参数
    word := m.Ctx.Input.Query("word")

    // 统计词中各字符的出现次数
    charNum := make(map[string]int)
    for _, c := range word {
        charNum[string(c)]++
    }

    // 向Reduce发起任务
    data, err := json.Marshal(charNum)
    if err != nil {
        logger.Logger.Error("MapWorker json编码错误", zap.Error(err))
        m.Ctx.Output.SetStatus(500)
        return
    }

    url := "http://localhost:8080/reduce"
    _, err = http.Post(url, "application/json", bytes.NewBuffer(data))

    if err != nil {
        logger.Logger.Error("Map向Reduce请求失败", zap.Error(err))
        m.Ctx.Output.SetStatus(500)
    }

}

下面是另一个controller,处理上面的请求的,第一句就是输出请求体

    fmt.Println("请求体", r.Ctx.Input.RequestBody)

可是输出为空,这是怎么回事了?
路由配置如下,

    beego.Router("/reduce", &controllers.ReduceWorker{}, "post:Reduce")

【相关推荐】




如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^