Tag: restify

用Restifyparsingurl编码体

我无法使用restify对我的node.js API执行url编码的post。 我有我的restify应用程序的以下设置: app.use(restify.acceptParser(app.acceptable)); app.use(restify.queryParser()); app.use(restify.urlEncodedBodyParser()); 但是,当我要求我的应用程序使用curl与下面的请求: curl -X POST -H "Content-type: application/x-www-form-urlencoded" -d quantity=50 http://app:5000/feeds 我在我的视图中获得以下input正文: console.log(req.body) // "quantity=50" 提前致谢, 马蒂亚斯

在socket.io中使用restify时,'headers already sent'错误

我正在跟随正式的游戏指南来使用socketio和restify。 api.js var mongoose = require('mongoose'); var restify = require('restify'); var fs = require('fs'); var server = restify.createServer({ name: 'myapp', version: '1.0.0' }); var io = require('socket.io')(server); server.get('/', function indexHTML(req, res, next) { fs.readFile(__dirname + '/sockettest.html', function (err, data) { if (err) { next(err); return; } res.setHeader('Content-Type', 'text/html'); res.writeHead(200); res.end(data); next(); }); }); io.on('connection', function(socket){ […]

Nodejs Restful Auth

我是新的Nodejs,我正在做一个resttify服务器。 所以,我有一个场景,我有很多设备(具有唯一的ID)通过rest更新数据。 我想要做的是validation他们,并给一个身份validation令牌。 像这样的东西: 第一次:uri / api / auth – >得到令牌。 然后:使用令牌和更新产品的uri / api / product / …. – > 我试图使用restify-node-token,但我没有成功。

如何在NodeJs上为RestAPI创build一个干净的体系结构

我正在考虑将一些REST服务移动到NodeJS。 我唯一担心的是这种解决scheme的架构。 它是否存在某个指导方针? 当然,我看到一些图书馆喜欢restify。 这是一个好的开始,但还不够。 我期待层的分离,dependency injection,unit testing,CSRF和更多。

在Node.js POST body / json上进行RESTify

我需要帮助。 我将json数据发布到我的节点服务器。 节点服务器正在使用RESTify作为其API。 我无法从发布的数据正文获取req.body.name 。 发布的数据包含一个json主体。 其中我有钥匙,如姓名,date,地址,电子邮件等 我想从json主体中取出名字。 我正在尝试做req.body.name但它不工作。 我还包括server.use(restify.bodyParser()); 它不工作。 我能够req.params.name并分配一个值。 但是,如果我张贴JSON数据如: {'food': 'ice cream', 'drink' : 'coke'} ,我越来越没有定义。 但是,如果我要req.body ,我会得到完整的json主体。 我希望能够专门得到一个像“饮料”,并具有在console.log上显示的项目。 var restify = require('restify'); var server = restify.createServer({ name: 'Hello World!', version: '1.0.0' }); server.use(restify.acceptParser(server.acceptable)); server.use(restify.jsonp()); server.use(restify.bodyParser({ mapParams: false })); server.post('/locations/:name', function(req, res, next){ var name_value = req.params.name; res.contentType = 'json'; console.log(req.params.name_value); […]

Node.js Restify – 简单的服务

我试图做一个存储JSONpost的服务器,到目前为止这里是服务器: var restify = require('restify'); var server = restify.createServer(); server.post('/message/', function create(req, res, next) { console.log(req.params) return next(); }); server.listen(8080, function() { console.log('%s listening at %s', server.name, server.url); }); 我正在使用Restify客户端来发布post var restify = require('restify'); var client = restify.createJsonClient({ url: 'http://localhost:8080', version: '*' }); client.post('/message/', { hello: 'world' }, function(err, req, res, obj) { console.log('%d -> […]

Restify:URL中的API版本

目前正在使用restify进行API开发,仍然不能习惯在头文件中指定API版本。 它只是不太友好的用户界面。 版本是否有任何方式成为url的一部分? 例子是: http://domain.com/api/v1/action 或者在我的情况下更好: http://api.domain.com/v1/action 谢谢

如何与mongoose和nodejs进行同步调用

我正在devise一个客户端/服务器同步function。 客户端发送一堆更改的事件到服务器。 服务器将根据请求的项目状态进行创build,删除或修改。 在数据库操作之后,服务器需要发送一个摘要给客户端。 下面是我的服务器端代码的摘录,devise与mongoose和restify。 var EventModel = mongoose.model('Event', eventSchema); server.post("/sync", function (req, res, next) { var events = req.params.events; var created = [], deleted = [], updated = []; events.forEach(function (elem) { if (elem.status == 0) { // Delete EventModel.remove({ _id: elem.uuid }, function (err, event) { if (!err) deleted.push({uuid: elem.uuid}); }); } else […]

Node.js,restify和正确的路由

我仍然围绕着Node,但是我有一个非常简单的问题。 我看到很多节点的例子,人们在一个app.js文件中声明它们的路线和所有的逻辑(有时把它们分解成子文件)。 我的问题基本上是:在应用程序中保留所有路由声明还是引导映射到文件结构的通用路由最好。 这可能看起来像一个原始的问题,但我的目标是要掌握节点内最有效的。 我目前正在使用Restify构buildAPI处理程序,但是我有另一个使用Express的应用程序(所以这个问题可能会回答这两个问题)。 在我的路线,我可以声明一个单一的路线引导像这样: app.all('/api/:package/:controller', function(request, response) { var controller = require( '../' + request.params.package + '/api/' + request.params.controller ); controller.index(request, response); response.end(); }); 这基本上接受来自API的所有调用,并针对适当的API控制器。 或者,我可以单独声明每个路由,或者甚至可以写一个遍历每个控制器的循环,并在init中声明它们。 所以: for (var i in packages.controllers) { app.all('api/' + package + '/' + controllers[i].name, function(request, response) { var controller = require( '../' + request.params.package + '/api/' + […]

node.js中每个url的节stream阀都可以调整

该文件指出: 请注意,您始终可以在每个URLpath上放置此值,以针对不同的资源启用不同的请求率(例如,如果/ my / slow / database比/ my / fast / memcache更容易过度)。 我很难find如何实现这一点。 基本上,我想以不同于API的静态文件来提供静态文件。