Tag: rest

为什么当指定的键不存在时,S3.deleteObject不会失败?

使用适用于Node的AWS开发工具包时 ,为什么在尝试删除不存在的对象时(例如S3键错误),不会出现错误? 如果我指定一个不存在的桶,则会产生一个错误。 如果考虑以下节点程序,则Key参数列出存储桶中不存在的键,但callback的error参数为null : var aws = require('aws-sdk') function getSetting(name) { var value = process.env[name] if (value == null) { throw new Error('You must set the environment variable ' + name) } return value } var s3Client = new aws.S3({ accessKeyId: getSetting('AWSACCESSKEYID'), secretAccessKey: getSetting('AWSSECRETACCESSKEY'), region: getSetting('AWSREGION'), params: { Bucket: getSetting('S3BUCKET'), }, }) picturePath = […]

使用search参数快速路由GET

我有两条获取商店的GET路线,但是,一条路线是为了获得所有商店,另一条路线是为了获得附近的商店。 1)获取所有商店的url请求如下: http://mydomain/stores 2)获取所有附近商店的url: http://mydomain/stores?lat={lat}&lng={lng}&radius={radius} 问题是: 我怎样才能将这些url正确映射到Express中,从而将每个路由redirect到相应的方法? app.get('/stores', store.getAll); app.get('/stores', store.getNear);

用于REST API的derbyjs

首先,我已经看到了这样一个问题: 如何在Node.js中最好地创build一个RESTful API,并且指向了mers,这对我有很大的帮助。 但是我也一直在阅读关于derbyjs的很多好消息,而且看起来确实很有趣。 所以我的问题是,使用derbyjs来启动一个REST API是否合理(实时function在未来可能会有用,但是在这个版本中不是100%肯定的)。 这是比我更好还是更差? 我真的很感激任何帮助。 编辑:如果有人感兴趣,现在决定使用sails.js: http ://sailsjs.org/

Node.js – 服务器closures连接?

我正在Node.js服务器上运行一个Web应用程序,我需要它一直在线,所以我永远在使用。 但这是一段时间后我得到的: Error: Connection lost: The server closed the connection. at Protocol.end (/home/me/private/app/node_modules/mysql/lib/protocol/Protocol.js:73:13) at Socket.onend (stream.js:79:10) at Socket.EventEmitter.emit (events.js:117:20) at _stream_readable.js:910:16 at process._tickCallback (node.js:415:13) error: Forever detected script exited with code: 8 error: Forever restarting script for 3 time 我有两台服务器已经连续运行了大约10天。 我在所有的服务器上都有一个“keepalive”循环,每5分钟做一个“select 1”mysql查询,但是看起来没有任何区别。 有任何想法吗? 编辑1 我的其他服务器给出了类似的错误,我认为这是“连接超时”,所以我把这个function: function keepalive() { db.query('select 1', [], function(err, result) { if(err) […]

为node.js Web服务应用程序安装服务器

我已经构build了一个与node.js一起运行的应用程序,它允许通过REST API检索一些数据。 我想把它放在一台个人电脑上(Windows),但我不知道如何安装一台服务器,以及我需要在网上提供我的应用程序。 有人可以解释我的步骤吗? 我知道一些在线服务像Heroku一样存在,但是我想自己做。 谢谢

Node.js与Tomcat不同

我是Node的新手,现在仍在继续。 我有些疑惑: 作为一个服务器端框架,它和Tomcat有什么不同呢? 如果我正在生产一些REST API,我可以将它们托pipe在Node服务器上还是需要另一台服务器?

高性能REST API – 哪种语言/堆栈?

我正在开发一个使用Ruby on Rails的网站。 我想单独开发REST API(JSON)以最大限度地提高性能,Rails堆栈只是带走了太多。 那里有没有任何性能基准? 你认为什么会产生最好的performance? 我目前正在考虑以下内容,因为这是我的经验。 还有什么我应该考虑的? 它应该是轻量级的。 的node.js 斯卡拉喷雾(http://spray.io/) Ruby Sinatra 谢谢!

NodeJS / Restify:如何在API中接收file upload?

我试图从移动应用程序上载图像文件(这是写在原生态,现在在iOS上运行)。 该文件发送到我的REST API,如下所示。 我遇到了两个问题: 我没有得到req.body ,因为它总是一个空的对象,虽然标题提交正确。 我想通过gridfs-stream把接收到的文件写到我的数据库(GridFS)中,但是我不明白该把代码放在哪里。 API const restify = require('restify') const winston = require('winston') const bunyanWinston = require('bunyan-winston-adapter') const mongoose = require('mongoose') const Grid = require('gridfs-stream') const config = require('../config') // Configure mongoose to work with javascript promises mongoose.Promise = global.Promise // Setting up server const server = restify.createServer({ name: config.name, version: config.version, […]

用于Express.js的Rest APIvalidation和会话pipe理

我一直在研究RESTful身份validation,而且我仍然不能得到一个非常清晰的想法,我怎么能devise我的networking架构! 我有很多问题没有回答 我希望我的API能够被传送到移动设备和networking,而且我正在使用Express v4 我不想使用基本身份validation,因为很多post都提出了一个简单的方法,或者我可以使用Passport中间件,但是我想使用基于令牌的身份validation或类似的或更好的东西,并且我想进行身份validation,所以我可以更好地理解,但我不知道我该怎么做,或者如果我明白了解! 我将在下面简化我的预期身份validation架构: 新用户的注册 客户端 发布用户名和密码到服务器(我知道如果你想使连接安全的是使用https连接,否则我会暴露我的凭据,或者你有任何其他选项除了https?否则我将需要使用公共和带有时间戳的私钥,并在发送给服务器之前散列我的凭证??我怎么做呢?或者其他更好的select?) 服务器端 使用盐密码对密码进行哈希处理,存储哈希密码和salt,然后生成一个令牌ID并发送给客户端! 而令牌ID存储在会话中或使用REDIS数据库? 是不是使用会话再次违反REST? 但是,如果我不使用会话,我怎么能存储令牌ID并与客户端进行比较? 客户端 由于现在我有令牌ID,我怎样才能存储在我的客户端? 我应该使用Cookie吗? 如果是的话,这不会违反RESTful? 以及我的手机应用程序如何存储cookie? 我还有什么其他的select,除了cookie,我不能想到任何! 授权API 客户端 现在,我有令牌ID,每当我想向服务器发送请求时,我都会将其放置在授权头中。 服务器端 当收到请求时,服务器将检查令牌API,并将其与会话令牌进行比较,如果为真,则请求允许拒绝 这是一个快速应用程序授权的标准方式? 对于这篇冗长的文章我感到抱歉,但是我觉得我应该真正掌握authentication和授权,因为它很重要! 我希望有人能纠正我对REST authenticatino的误解,并回答我的问题,或者build议我一个更好的方法来做到这一点!

MQ监控和与谷歌分析集成?

这是情况。 我们有不同的应用程序托pipe的环境。 这些应用程序访问数据或与其他应用程序托pipe在不同的环境。 我们正在使用mq message进行通信,但没有任何机制来跟踪此通信活动。 是否有可能与google-analytcs监测mq message ? 如果是的话,这是一个好主意吗? 还是有更好的解决scheme? 更新 : 有没有人试过https://www.npmjs.com/package/mqlight ,可能与google-analytcs集成? 这个想法是构buildMQ监控仪表板(可视化,警报,消息详细信息,源/目标详细信息等),或者将事件与google-analytics )集成以跟踪MQ REST API。 我是一个JavaScript开发人员,想通过使用angularjs和nodejs来使用REST API来构build这样的实用程序。 是否有任何MQ REST API可以用来构build这样的实用程序?