Tag: rest

如何更新Node.js中的一对多关系?

我正在使用一个使用mongoose , mongodb和restify的Node应用程序。 我想知道在定义路由function时是否有从各种模型导入代码的好习惯。 这应该是一个相当直接的问题,我只需要指导,我就可以自己编写代码。 感谢您抽时间阅读。 我知道如何定义这种关系,但是我不确定我应该如何去build立真正的关系。 也就是说,换句话说,当一辆汽车被创造出来的时候,最好的方法是给它添加一辆汽车。 请注意,我正在试图保持这个api RESTful。 我有两个模型,我将不得不基于下面的模式,这是存储在db/schema.js : //schema.js var restify = require('restify'); var mongoose = require('mongoose'); var Schema = mongoose.Schema; var ObjectId = Schema.ObjectId; // User Schema exports.User = new Schema({ id: ObjectId, name: String, cars: [{ type: ObjectId, ref: 'Car' }], }); // Car Schema exports.Car = new Schema({ […]

我需要Oauth2用于我的Web Apps API

我正在围绕构build一个基于express.js / node.js的REST API来包装我的大脑。 我有一些问题… 如果我现在只关心Web应用程序(不一定是电话应用程序),我是否需要基于token / oauth 1或2安全性的API? 是否有任何资源来学习如何从头开始构build? 我已经阅读了字面上的第一个3页的谷歌search“rest api与oauth2authenticationexpress.js”,我还没有把握。

如何在node / loopback中同步调用model.find方法?

我正在使用自定义模型,并尝试使用find方法在循环中对其进行过滤。 例如下面给出 for i = 0 to n { var u = User.find( where { name: 'john'}); } 它不起作用。 另外,如果我使用以下 for i = 0 to n { User.find( where { name: 'john'}, function(u) {… } ); // How do I call the code for further processing? } 有没有办法同步调用查找方法? 请帮忙。 谢谢

分布式validation

我想实现一个特定的体系结构,将我的rest API从一个Web服务器中分离出来,这个Web服务器将被用作一个不可知的模板引擎,比如DustJS。 我的后端restAPI将使用服务堆栈来构build。 我最喜欢的服务堆栈和NodeJS是他们都提供了一种身份validation的方式,但我只需要一个中央的方式来访问凭据授予访问API调用,以及限制我的意见的某些内容。 我想开发的应用程序是一个基于订阅的约会网站,所以给我提出了一些问题。 涉及的参数是angular色,组,身份validation和授权。 在服务栈上实现起来很容易,但主要是前端如何访问这些信息让我感到困惑。 我将如何实现一个场景,即前端只需检索一次凭据,而不必继续通过API调用来检查数据库或caching以查看是否检出? 我是否需要在处理希望保持login状态的客户端时采用不同的方法,或者通过设置时间戳值来解决问题? 感谢你的时间每个人。

使用Node.js创build一个带有oauth的REST风格的Web服务

我想用Node.js创build一个REST风格的Web服务,但是我不知道从哪里开始。 我的意思是我想制作自己的服务器(类似Google或Facebook)。 例如:你创build一个应用程序,当你的应用程序想要获得一些Facebook用户的资源或授权时,必须向Facebook发送一个request_token,然后获取一个access_token。 然后我创build另一个客户端从我之前创build的服务器获取request_token和access_token。 也许我的问题得到了一些错误,因为我是这个主题的新手。 希望有人了解我的问题。

PHP与Node REST-API

我正在构build一个简单的REST-API,它有一个端点,这个端点会被深度渗透。 我们称之为POST /message 。 我必须决定使用Node还是PHP。 数据库是MySQL。 在这条路线中会发生什么: – 通过HTTP-Auth的证书将通过从数据库中读取来进行检查。 – 请求另一个REST-API。 – 将执行另一个写入数据库操作。 所以有2个数据库连接和一个到另一个REST-API的http请求。 路线应该都是有速度的。 我会去PHP,因为目前的系统是基于PHP的,但路由内的请求会吓到我,导致它不是使用PHP时asynchronous。 我不关心这个请求的结果,并且在节点中,我可以只检查凭证并返回success ,asynchronous发送请求并在请求返回后执行数据库写入性能。 我不认为我可以在PHP中这样做,因为当我返回REST调用success ,一切都必须先完成,对吧? 去PHP或节点?

如何在Sails js(nodejs MVC)中使用外部rest api

我使用sailsjs作为节点js的MVC,我仍然在学习它。 我设法从我自己的数据库获取数据并使用它。 但是现在我需要/想从外部restAPI获取数据。 我在我的控制器中使用了这个: // api/controllers/SomeController.js test : function(res,req){ var j; var https = require('https'); var options = { hostname: 'testing.atlassian.net', port: 443, path: '/rest/api/2/search?jql=project=ABC', method: 'GET', headers: {'Authorization': 'Basic ' + 'SuperSecretLoginAndPassword'} }; var req = https.request(options, function(res) { res.setEncoding('utf8'); res.on('data', function(d) { }); }); req.end(); } variablesd显示正确的结果。 我如何在我的视图中使用请求结果? 我search了很多,但我无法find任何方法来显示在我看来。 这将实时更新? 所以,如果在restapi的变化,我不会刷新。 对不起,如果这是愚蠢的。

REST:返回复杂的嵌套数据与多个调用

我有一个REST API由NodeJS提供给AngularJS前端。 我与users : GET /api/users #Returns all users POST /api/users #Create new user GET /api/users/:id #Return a user PUT /api/users/:id #Edit a user DELTE /api/users/:id #Delete a user 这是一个用户: { login : "admin" email : "admin@admin.com" pass : "hashedpassword" … } 我的用户可以属于groups GET /api/users/:id/groups #Return the groups of a user 他们也可以有constraints或者可以inheritance组的constraints GET /api/users/:id/constraints #Return […]

node-restful不将文档“内容”保存到MongoDb

我正在尝试使用NodeJS将文档保存到MongoDb。 我正在使用Express,Mongoose,Node-Restful为我辛苦工作。 但是,虽然它在MongoDb中创build文档,但它们并不是实际的内容。 我只得到 [{“_id”:“5460ab83c9e8f9481063df82”,“__v”:0},{“_id”:“5460ac00c9e8f9481063df83”,“__v”:0},{“_id”:“5460ae36c9e8f9481063df85”,“__v”:0},{ “__v”:0},{“_id”:“5460afb6be7938bc1469ae97”“__v”:0},{“_id”:“5460fe9088d68e2516cdf572”,“__v”:0},{“_id”:“5460fecfd47cba3916fba0ab”,“__v “:0},{”_id“:”5460fed5d47cba3916fba0ac“,”__v“:0},{”_id“:”5460fed8d47cba3916fba0ad“,”__v“:0},{”_id“:”5460ff079b60285016dfd0da“,”__v“ 0}] 正如你所看到的,实际的内容并没有被保存,这只是一个名字。 我的模式(models / users.js) var restful = require('node-restful'); var mongoose = restful.mongoose; var userSchema = new mongoose.Schema({ name: String }); module.exports = restful.model('user',userSchema ); 我的api(api / api.js) var express = require('express'); var router = express.Router(); var userModel = require('../models/users') userModel.methods(['get','put','post','delete']); userModel.register(router,'/user'); module.exports = router; 和应用程序代码(server.js) console.log("Adding Requires"); […]

NodeJS / express – 公共API端点的安全性

我正在开发基于NodeJs / Express的网站项目,对于某些UI部分,我正在使用Jquery ajax请求获取辅助数据。 我们如何处理对浏览器用于Ajax调用的Rest API端点的一些基本控制? 我正在考虑某种令牌授权,但是一旦它被拦截,它也可以被其他客户端(脚本等)使用,那么我们如何保护我们的服务器免受不需要的请求呢? 在这种情况下应该使用哪些其他控件(识别来自同一客户端的太多请求,客户端黑名单等)?