节点Restify发回一个整数?

在这里输入图像说明

这是当我尝试让我的机器人通过Facebookvalidation我的url时得到的。 我知道这是一个数据types的问题。 我发回一个string,而不是一个int。 这是我的代码看起来像:

server.get("/webhook/",function(req,res,next){ var token = req.query.hub.verify_token; if( token === process.env.VALIDATION_TOKEN ){ var challenge = parseInt( req.query.hub.challenge ); res.send( req.query.hub.challenge ); }else{ res.send("Error, wrong validation token"); } return next(); }); 

尽pipeparseInt()res.send()返回一个string。 我如何得到它发回int?

所以事实certificateres.send只发送一个对象,数组,缓冲区或string每个restify文档 (虽然对于快递也是如此)。

要发回一个整数,你有2(sorta 3)选项:

  1. 使用像这样的缓冲区:

     var buf = new Buffer(4); buf.writeUInt32BE(challenge, 0); res.send(buf); 
  2. 使用res.write(challenge)res.end(challenge) 。 有关更多信息,文档在这里和这里 。