Tag: rest

与Python中的HTTP POST请求不一致的行为

尝试在Python(WSGI)和NodeJS + Express应用程序之间发出POST请求。 他们在不同的服务器上。 问题是,当使用不同的IP地址(即专用networking与公用networking)时,公共networking上的urllib2请求成功,但是对于专用networking的相同请求却失败,出现502 Bad Gateway或URLError [32] Broken pipe 。 我使用的urllib2代码是这样的: req = urllib2.Request(url, "{'some':'data'}", {'Content-Type' : 'application/json; charset=utf-8'}) res = urllib2.urlopen(req) print f.read() 现在,我也使用request来编写这样的requests : r = requests.post(url, headers = {'Content-Type' : 'application/json; charset=utf-8'}, data = "{'some':'data'}") print r.text 得到一个200 OK回应。 这种替代方法适用于这两个networking。 我有兴趣了解是否有一些额外的configuration需要我不知道的urllib2请求,或者如果我需要查看一些可能会丢失的networkingconfiguration(我不相信这是事实,因为替代请求方法起作用,但我肯定是错的)。 任何build议或指针与此将不胜感激。 谢谢!

Nodejs – 用文件中的选项–data保留api调用

我正在从一个nodejs应用程序restAPI调用。 我的curl调用如下所示: curl -X PUT -iv -H "Authorization: bearer <token>" -H "Content-Type: application/json" -H "Accept: application/json" -H "X-Spark-Service-Instance: <spark-instance>" –data "@pipeline.json" -k https://<url> 我想在Nodejs中有类似的调用。 我无法理解如何将数据发送到一个json文件,该文件在curl调用时是–data "@pipeline.json". 我的Nodejs代码如下所示: var token = req.body.mlToken; var urlToHit = req.body.url; var SPARKINSTANCE = req.body.sparkInstance; var b = "bearer "; var auth = b.concat(token); var headers = { 'Content-Type': 'application/json', 'Authorization': […]

node.js REST APIauthentication和oauth2

我有几个问题: 1)使用REST API既是外部API使用,又是作为骨干(或普通的js)前端的服务器端,是不是一个好习惯? 我认为编写一个REST API服务器并将其用作后端要容易得多。 2)如果我写我的webappauthentication与oauth 2标准是一个很好的方式来存储我的秘密令牌在cookie中? 我认为这会造成CSRF漏洞。 正如我看到passport.js使用cookie来存储例如Facebook或Twitter的秘密令牌…在这种情况下是什么关于CSRF?

如何使用REST而不使用快捷方式蓝图使用searchsails.js模型?

我已经closures快捷键蓝图(/模型/ findAll不会工作),现在我想search模型,使用REST,但我没有find任何东西,有没有任何文件或我必须写我自己的意见呢? 谢谢

使用摩卡和supertest不能testingDELETE方法

我正在尝试为节点应用程序构build一个RESTful API。 我build立了路线,一切运行良好。 但是,当我尝试testing它,它不能让DELETE方法工作,尽pipe它通常不在testing中正常工作。 这里是服务器和testing的代码。 服务器: // set up var express = require('express'); var app = express(); // create our app w/ express var path = __dirname; //root path // configuration app.configure(function() { app.use(express.static(path)); //app.use(express.logger('dev')); // log every request to the console app.use(express.json()); app.use(express.urlencoded()); // pull information from html in POST app.use(express.methodOverride()); // simulate DELETE […]

使用Swagger 2.0进行REST API版本控制

我需要我的节点REST API版本。 我正在使用swagger 2.0来validation中间件和文档。 目前我只有一个单一的swagger yml文件,用于所有目的。 我正在使用URL前缀(版本号:/ v1 / … / v2 / …等)来支持Node Rest API中的版本控制。 而且我需要在任何时候支持多个版本。 我应该为每个API版本创build一个单独的swagger yml文件吗? 如果是的话,如何在swagger-validation中间件中加载/pipe理多个swagger yml文件 Swagger 2.0格式规范是否允许在同一文件中定义版本化path。

通过我的REST API和Facebook进行用户身份validation

我对如何正确安全地使用REST API对用户进行身份validation以及使用其他OAuth 2.0提供程序(例如Facebook,Google等)进行身份validation提供和select有些困惑。 脚本 用户与一个应该使用我的REST API的Web应用程序进行交互。 用户应该能够使用用户名/密码以及使用Facebook等第三方服务login和执行CRUD操作。 我将使用SSL来encryption网站和API的stream量。 没有考虑到第三方login服务,通过研究这里已经提到的各种问题,我想到如图所示的处理用户authentication。 技术和当前的想法 REST API是使用NodeJS和Express使用JS编写的。 通过另一个NodeJS实例提供的WebApp大部分是AngularJS,其中的模板使用了REST API。 我目前的想法是让WebApp处理login序列,并让Facebook使用callback将他们的令牌保存在我的数据库中。 但是这个解决scheme太多的解决方法了! 问题 图像中描述的validation序列是否正确? 上述authentication顺序与OAuth2.0中的资源所有者密码凭证stream程相比如何? 值得使用OAuth2.0而不是它? 我怎样才能通过第三方(即Facebook)整合login? 任何build议或(更好)的例子? 参考 passport.js RESTfulvalidation 用facebooklogin并使用oauth 2.0进行REST API调用的authentication 和其他许多人在这里:)

有没有像RESTful资源的客户端pipe理面板框架?

过去我曾经使用过Rails,我使用ActiveAdmin来制作pipe理面板。 我正在转移到Node,我将使用Sails作为一个单页面应用程序的框架,也可能在客户端使用AngularJS,但仍然存在pipe理面板的问题。 鉴于为RESTful API访问设置了所有的资源,我正在考虑使用基于客户端的pipe理面板。 但是我不知道这样的事情是否存在。 如果没有,我想我会自己做,但我不想重新发明轮子。

ACL如何在REST API中工作?

REST API是用ExpressJs 4.xx / NodeJS编写的。 我们假设一个接口: app.delete('/api/v1/users/:uid', function (req, res, next) { … } 所以用这个界面用户可以删除。 假设系统中有2个客户,每个客户都有用户。 用户可以拥有使用名为CustomersAdmin的angular色删除其他用户的权限。 但是,这个用户应该只能从他的公司(客户)删除用户。 所以,让我们来看看ACL。 假设在我们的ACL中,我们可以定义angular色,资源和权限。 (代码从http://github.com/OptimalBits/node_acl#middlware采用。) app.delete('/api/v1/users/:uid', acl.protect(), function (req, res, next) { // ? Delete User with uid = uid or check // ? first if current user is in same company as user uid } 有两件事情要考虑。 一个是保护从那个没有权限的用户到该路由上的HTTP / […]

REST风格的Web服务使用节点js

我是节点j的新手,并尝试使用它发布RESTful Web服务。 我在网上发现了很less的教程,但是它们不是非常具有说明性,或者不适合高级用户 我没有检查整顿框架。 但它似乎适用于高级的节点JS用户。