解决不从PUT方法请求解析数据的问题

时间:2014-01-29 16:01:41

标签: node.js restify

我正在使用Restify的最新版本(2.6.1),我真的不知道Restify发生了什么,而不是解析PUT / POST方法提交的数据,它根本就没有意义,Restify应该将数据分配给“req.params”。我刚刚失去了足够的时间来解决这个问题而我只是没有,我不知道发生了什么。这是一个真正的问题还是我完全误解了文档?

所以,我执行follow curl命令:

curl -is -X PUT -d "phone=1-800-999-9999" http://localhost:8080/note

它只返回没有参数,它必须返回上面curl命令提交的电话值:

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 4
Date: Wed, 29 Jan 2014 15:14:22 GMT
Connection: keep-alive
"{}"

这是完整的代码,不能比这更简单:

var restify = require('restify');
var server = restify.createServer({
  name: 'App',
  version: '1.0.0'
});
server.use(restify.acceptParser(server.acceptable));
server.use(restify.bodyParser());
server.use(restify.queryParser());
function send(req, res, next) {
  res.send(JSON.stringify(req.params));
  return next();
}
var server = restify.createServer();
server.put('/note', send);
server.listen(8080, function() {
  console.log('%s listening at %s', server.name, server.url);
});

有人对这种行为有答案吗?真的很令人沮丧...

1 个答案:

答案 0 :(得分:1)

尝试发帖以解析为JSON。像这样:

{ "phone" : "1-800-999-9999" }