okhttp POST请求正文未定义

时间:2016-07-18 07:19:41

标签: java android node.js express okhttp

我正在使用Node with express用于服务器而okhttp用于Android客户端。我正在尝试使用以下代码向服务器发送帖子请求:

FormBody.Builder bodyBuilder = new FormBody.Builder();
for (String key : bodyParams.keySet())
    bodyBuilder.add(key, bodyParams.get(key));

Request request = new Request.Builder()
        .url(urlBuilder.build())
        .post(bodyBuilder.build())
        .build();

mHttpClient.newCall(request).enqueue(callback);

在服务器上,我使用body解析器设置express,否则:

app.use(bodyParser.json());
app.use(bodyParser.urlencoded({
    extended: false
}));

并在此处理帖子请求:

app.post(CONSTANTS.ROUTES.USER.REGISTER, function(req, res, next) {
    console.log(req.body);
    return;
}

但是,req.body总是未定义,okhttp正常执行get请求和查询参数,但我已经尝试过formBody和

RequestBody.create(JSON, json)

这个post建议的方法,没有工作," req.body"始终显示为未定义。任何人都能帮助我吗?

okhttp版本:3.4.1

操作系统:El Capitan

节点:6.3.0

0 个答案:

没有答案