2

私は Beego フレームワークを使用して Web アプリケーションを構築しており、JSON でエンコードされたデータを渡そうとしています。大まかに、これは私が持っているものです:

import (
"github.com/astaxie/beego"
)

type LoginController struct {
beego.Controller
}

func (this *LoginController) Post() {
  request := this.Ctx.Request
  length := request.ContentLength
  p := make([]byte, length)
  bytesRead, err := this.Ctx.Request.Body.Read(p)
  if err == nil{
    //blah
  } else {
    //tell me the length, bytes read, and error
  }
}

このチュートリアル に従って、上記は動作するはずです (tm)。

私の問題は次のとおりです。bytesRead, err := this.Ctx.Request.Body.Read(p)読み取った 0 バイトと is を返しerr.Error()ますEOF

ただし、 は妥当なバイト数です(request.ContentLength入力するデータによっては 19 以上)。

リクエストにある程度の長さがあるように見えるのに、なぜ失敗するのかわかりませんRead。何か案は?

4

1 に答える 1