Tag: api

邮差:更具描述性的tv4validation错误信息

我使用postman来validationapi返回的json数据的模式。 我有一个testing,通过基本的HTTPvalidation,然后结束于: if (tv4.error){ console.log("Validation failed: ", tv4.error); } 我得到的错误是难以理解的。 validation失败:12:22:41.316 目的:{} 消息:“无效的types:数字(预期的string)” 名称: “ValidationError” types:“错误” 但是我需要知道哪个字段validation失败。 我怎样才能得到这个信息? 电视4的npm页面表明错误信息应该更具描述性。

如何使用使用Passport.js的远程NodeJS API对客户端Web应用程序进行身份validation和授权

如下图所示,我有一个运行在端口为3001的服务器上的独立API项目,并且我有一个运行在端口为3002的服务器上的Web应用程序。 接口3001上的API具有Web应用程序(和移动应用程序)获取和放置数据所需的所有API路由,包括身份validationAPI(使用passport-local和passport-jwt )。 在项目的API方面,我也处理了用户angular色授权,每个路由都有可以访问API的angular色列表。 示例路线 todoRoutes.get('/', requireAuth, AuthController.roleAuth(['user','editor','admin']), TodoController.getTodos); angular色授权API方法在端口3001 exports.roleAuth = function(roles){ return function(req, res, next){ var user = req.user; User.findById(user._id, function(err, foundUser){ if(err){ res.status(422).json({error: 'No user found.'}); return next(err); } if(roles.indexOf(foundUser.role) > -1){ return next(); } res.status(401).json({error: 'You are not authorized to view this content'}); return next('Unauthorized'); }); } } login成功后响应json是这样的 { "token": […]

在node.js服务器中定制bodyDecoder for Express

我想弄清楚如何重写Express.bodyDecoder返回我希望它以不需要修改Express定义的方式返回。 我觉得现在可以实施,但我不知道“正确的方法”。 帮帮我?

REST API:如何search其他属性

我使用node.js作为REST API。 有以下可用的操作: /联系人,GET,查找所有联系人 /联系人,POST,创build新的联系人 / contacts /:id,GET,通过它的id显示或获取指定的联系人 / contacts /:id,PUT,更新一个特定的联系人 / contacts /:id,DELETE,删除特定的联系人 什么现在将是一个逻辑路由search,在用户后查询? 我应该把这个到3路线,还是我应该创build一个额外的路线?

性能testingTwitter Streaming API消费者

我有一个使用Twitter Streaming API实时使用twitterpost的服务。 我build立了一个连接到stream的后台进程,并将推送到Redis中。 这是用node.js构build的 我需要做的是找出这个过程可以消耗的最大数量的鸣叫。 我需要性能testing这个设置。 什么是testing这个最好的方法? 我需要知道: 它可以处理之前,它可以处理多less鸣叫 当进程不能处理更多的推文时会发生什么 另一个我想这样做的原因是要弄清楚它是否值得使用node.js。 我宁愿用EventMachine代替它。

创build从CL与节点,JSONparsing错误的回购时Github API错误

创build一个节点CLI从CL创build回购站,发布到github api的问题。 我正在使用请求模块发布到github API。 request.post({ url: 'https://api.github.com/user/repos', headers:{ 'User-Agent': 'git CL – node', 'Content-type': 'application/json' }, auth:{ username: '-username-', password: '-password-' }, form:{ name: "a-new-repo" } }, function(err, res, body){ console.log(body); }); 我得到的错误是{"message":"Problems parsing JSON","documentation_url":"http://developer.github.com/v3"} 我已经尝试了很多东西,比如 设置多部分数据 而不是表单数据 设置内容types 作为JSON发送 我知道的事情是正确的 身份validation—我能够得到正确的答复,如果我做一个GET请求,它只是POST POSTpath和标题 链接请求模块 链接为github-api

无法弄清楚如何访问Dice.com的REST API

所以我想使用Dice.com的API来获取一个信息图表types的应用程序的数据。 http://www.dice.com/common/content/documentation/api.html 我的问题是他们需要一个开发人员ID和密码。 我不确定哪里可以得到这个,因为它是OAuth令牌所必需的。 我打算使用Node.js向其RESTful服务发出请求。 任何信息将不胜感激。

在节点应用程序中使用restify时configuration域名而不是IP地址

我正在使用restify模块为我的应用程序生成REST API。 我想知道如何在这段代码中直接configuration我的域名。 我想我的ip_addr像“domainname.com”而不是127.0.0.1。 var ip_addr = 'domainname.com'; var port = '80'; var connection_string = '127.0.0.1:27017/myapp'; var db = mongojs(connection_string, ['myapp']); var jobs = db.collection("jobs") var server = restify.createServer({ name : "myapp" }); server.use(restify.queryParser()); server.use(restify.bodyParser()); server.use(restify.CORS()); server.listen(port ,ip_addr, function(){ console.log('%s listening at %s ', server.name , server.url); }); 我得到一个错误EADDRNOTAVAIL每当我使用“域名.com”而不是“127.0.0.1”可以有人帮助,我怎样才能configuration它在我的域名在这个节点的应用程序?

保护用户注册API

我目前正在编写一个带有Sails.js(节点框架)后端的HTML5 Web应用程序。 目前,我的大部分API都是通过PassportJS使用的用户身份validation系统进行保护的。 未经授权的用户试图使用我的API将得到一个401错误。 但是,系统中有一个洞,就是注册API本身。 我显然无法通过用户身份validation来保护我的注册API(因为用户还没有帐户可以login),因此任何人都可以使用许多伪造的帐户轻松地发送垃圾邮件。 在我的注册页面上,我有一个“2 + 2是什么”的小validation问题。 (它是随机生成的),并在客户端进行检查,如果答案正确,则客户端向我的注册API路由发送一个请求,其中包含名称,生日和用户名等所有必要参数。 我怎样才能保证这个API,以确保人们必须通过我的注册页面,不能简单地绕过这个安全措施,直接调用API? 就像注意,我的API不是RESTFul。

http从节点js到嵌套params轨道上的ruby

我试图从一个NodeJS应用程序发送一个POST请求到一个Rails应用程序。 这里是nodejs代码: var http = require('http'); var photoRequest = { photo_request: { bw_quantity: 0, color_quantity: 1 } }; var photoRequestStr = JSON.stringify(photoRequest); var options = { host: 'localhost', path: '/api/v1/photo_requests', port: '3000', method: 'POST', headers: { 'Content-Length': photoRequestStr.length, 'Content-Type': 'application/x-www-form-urlencoded' } }; var str = ''; http .request(options, function(res) { res.setEncoding('utf8'); res.on('data', function(data) { str […]