回顾一下之前用RESTify创建API的过程,没有注意到官方给的示例和原来的不同,于是再次做个笔记。。
RESTify GET
对于GET请求来说应该是比较简单的,也不会存在数据传不进来的问题,一个简单的GET示例
const restserver = restify.createServer();
restserver.get('id/:id', rest_helper.respond);
restserver.head('id/:id', rest_helper.respond);
restserver.listen(8848, function() {
console.log('%s listening at %s', restserver.name, restserver.url);
});
接着我们只需要创建一个简单的respond来响应就可以了
function respond (req, res, next) {
res.send({});
next();
};
这样便完成一个简单的GET请求,我们可以通过
curl http://localhost:8848/id/1
来传进ID值并返回一个结果。
RESTify POST请求
一开始没有注意到官方的示例
var restify = require('restify');
var server = restify.createServer({});
server.use(restify.acceptParser(server.acceptable));
server.use(restify.queryParser());
server.use(restify.bodyParser());
server.get('/echo/:name', function (req, res, next) {
res.send(req.params);
return next();
});
server.listen(8080, function () {
console.log('%s listening at %s', server.name, server.url);
});
中用到了bodyParser用以接收参数,才能POST数据。我们才能用POST命令将数据POST进去,一个简单的curl示例如下所示
curl -H "Content-Type: application/json" -d '{"id":3, "value":"dream","sensors1":12,"sensors2":13}' http://localhost:8848
或许您还需要下面的文章: