我正在使用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