Tag: rest

OpenID + API REST +节点服务器

我有一个reactjs项目(在端口3000上运行),一个Spring的JAVA API REST(在8080上运行),我必须configuration它与OpenID服务器一起使用。 我可以从前端项目(使用隐式stream)login到OpenId,但是如果我尝试访问API,则会抛出302,并尝试redirect到Auth服务器的login页面。 我已经在API中安装了pac4。 我怎样才能发送一些API,我怎样才能configurationAPI来validation这个令牌? 因为现在,API正在回答OpenId的login页面302。 我的问题的想法是知道我是否可以做以下事情: 1-从节点服务器login到OpenId。 2-将id_token发送到API Rest 3,API RESTvalidation这个令牌(我认为是针对OpenId服务器的) 4-如果令牌有效,请返回申请。 谢谢!

Nodejs api 404在访问url paremter时未发现错误

我正在做一个nodejs API,其中我从数据库中提取申请人的所有logging。 我的APIurl是这样的 var express = require('express'); var morgan = require('morgan'); var bodyParser = require('body-parser'); enter code here var ApplicantCtrl = require('./controllers/applicantController'); var app = express(); var port = process.env.Port || 8000; app.use(bodyParser.urlencoded({ extended: true })); app.use(bodyParser.json()); app.get('api/applicant/:applicantId/getFullDetails', ApplicantCtrl.getApplicantAllData); app.listen(port, function() { console.log('Server is running on port : ' + port); }); 和applicantController.js代码在这里 var connection […]

Elifecycle错误是什么意思?

SyntaxError: /Users/DanaCarlin/Desktop/CS612/expensive.json: Unexpected string in JSON at position 5801 at JSON.parse (<anonymous>) at Object.Module._extensions..json (module.js:654:27) at Module.load (module.js:554:32) at tryModuleLoad (module.js:497:12) at Function.Module._load (module.js:489:3) at Module.require (module.js:579:17) at require (internal/module.js:11:18) at Object.<anonymous> (/Users/DanaCarlin/Desktop/CS612/server.js:2:17) at Module._compile (module.js:635:30) at Object.Module._extensions..js (module.js:646:10) npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! restful-restaurants@0.1.0 start: `node server.js` npm ERR! […]

Swagger 2中的版本控制端点

我是Swagger的新手,我希望能够在需要时轻松创build新版端点。 我的swagger.yaml文件看起来像这样: swagger: "2.0" info: version: "1.0.0" title: API description: blah contact: name: Some guy basePath: /v1 schemes: – http – https consumes: – application/json produces: – application/json paths: /log: x-swagger-router-controller: log post: summary: Creates a log entry. description: Creates a log entry. tags: – Logs security: – user: [] – session: [] parameters: – […]

对这个后端堆栈的反馈

我打算设置一个可扩展的体系结构,能够在REST接口上提供Web服务,从而实现JSON的发送。 对于CRUD web 2.0应用程序,Web服务将非常简单。 我觉得javascript(nodejs + mongodb)是一个不错的select,原因如下: 很容易findJavaScript开发人员 很好的performance 易于扩展 在数据库查询语言,后端和Web客户端之间共享逻辑/语言或可能的代码重用。 有testing和日志框架的节点 通过我所看到的例子,节点在实现Web服务所需的代码行方面看起来很轻。 问题: 我想扩展一个节点应用程序,提供一个Web服务作为有一个中央节点将路由/平衡收费的每个节点实例。 这也将有助于进行无缝更新,有没有已经实施的软件可以适应这一任务? 请指出您在此后端堆栈中find的所有缺点或其他优点 如果您觉得这个问题引发了太多的争论,并且不符合计算策略,请指出一个我可以得到反馈的论坛。 除MongoDB以外的其他任何好的持久select? 主要是这个select来自JavaScript查询语言和JSON模式。

Chrome REST客户端始终请求GET而不是POST

看起来像我的Chrome上的所有REST客户端工具突然不正确地发送POST请求。 即使我selectPOST选项,他们也会发送GET请求。 我正在开发一个使用node.js后端服务器的Web应用程序。 我总是使用铬扩展“邮递员 – REST客户端”来testing我的后端服务。 例如,我有一个接收POST请求并返回一些结果的/ foo处理程序,以及一个接收GET请求的/ bar处理程序。 我可以正确地testing这些处理程序,直到昨天,当我的POST请求/ foo得到一个响应:“不能GET / foo”,通常发生在我发送一个GET请求到/ foo时。 当我发送POST请求到/ bar(通常应该返回“不能POST /酒吧”),但没有得到错误信息,但一个正确的GET结果。 我在Chrome上尝试了一些其他的REST客户端工具,比如“REST控制台”,“高级REST客户端”,但是它们都有相同的行为。 但是,我的前端网页可以使用AJAX POST / GET调用正确访问这些处理程序。 我的后端服务器或我的Chrome浏览器有什么问题吗?

多个REST风格的Web服务调用与MySQL联接

我目前正在使用node.js为我当前的iPhone应用程序构build一个RESTful Web服务。 目前,该系统工作如下: 客户端向node.js服务器发出请求,服务器做适当的计算和MySQL查询,并返回数据 客户端的反应器处理响应并更新UI 有一件事我一直在想的是对我的服务器进行多个API调用的差异(在性能和最佳实践方面)与一个在MySQL数据库中执行多个连接语句的调用,然后返回一个构造的对象。 例如:可以说我正在加载一个用户configuration文件显示在用户界面。 用户具有个人资料图片,基本信息和新闻提要项目。 使用选项一,我会做如下: 向服务器发出一个getUser请求,这将在数据库中执行一个查询,如下所示: Select * from user join user_info on user.user_id=user_info.user_id left join user_profile_picture on user_profile_picture.user_id=user.user_id 。 服务器然后将返回一个构造的用户对象,其中包含来自每个表的信息 客户端等待服务器的响应并立即更新所有内容 选项2将是: 向服务器发出3个asynchronous请求: 的getUser getUserInfo getUserProfile 每当收到任何请求时,UI都会更新 所以给了这两个选项,我想知道哪个提供更好的可伸缩性。 目前,我正在考虑select2,原因如下: 每个asynchronous请求将比选项a中的查询更快,从而更快地向用户显示某些内容 我也整合了Memecache,我觉得这3个独立的调用将更容易caching特定的结果(例如,不caching用户configuration文件,而是cachinguser,user_info和user_profile_picture)。 任何想法或经验?

从Node.js进行REST调用并向浏览器发送响应

我是Node.js的初学者,所以按照项目要求,我试图从Node.js调用REST服务,我从这个SO问题得到了如何调用rest的信息。 这里是代码来rest电话: var options = { host: url, port: 80, path: '/resource?id=foo&bar=baz', method: 'POST' }; http.request(options, function(res) { console.log('STATUS: ' + res.statusCode); console.log('HEADERS: ' + JSON.stringify(res.headers)); res.setEncoding('utf8'); res.on('data', function (chunk) { console.log('BODY: ' + chunk); //I want to send this 'chunk' as a response to browser }); }).end(); 问题是我想发送chunk作为对浏览器的响应,我试过res.write()但它是抛出错误“写入方法未find”。 我在任何地方查看文档,但是他们提供的只是console.log。 任何人都可以让我知道如何发送该数据作为对浏览器的响应?

通过Node.js中的REST API传输整个Javascript对象的最佳方法

我试图找出如何通过REST API传输JS(而不是JSON),基本上这个想法是,客户端可以发送带有函数()的对象,为后续执行提供function。 例如如何传输 var jsObj = { a: 1 b: function () { console.log("B") } } 从节点A到节点B,所以现在节点B知道如何执行b() 谢谢

NodeJS代码自动化testing覆盖率

作为NodeJS REST API自定义testing框架的一部分,我想通过比较testing套件收到的所有可能结果,自动检测我的testing何时不再提供适当的覆盖。 有什么方法可以做到这一点? 我们可以假设它被用于REST API,其中包含需要覆盖分析的入口函数(API端点)列表,每个入口函数将以一个已知的“退出函数”结束,以标准方式响应请求者。 这是我到目前为止发现的: 1:基本解决scheme(目前正在实施) 在编写每个REST端点时,手动创build所有可能的结果“代码”的列表[成功,失败,失败,失败等等] 在testing运行之后,确保每个端点的testing套件都能看到列表中的每个代码。 优点:非常基本和易于使用; 不改变性能testing时间 缺点:非常容易出现大量人工检查错误; 如果有5种方法“FailDueToX”,并且只testing其中的一种,则不会标记任何问题。 非常基本的定义“覆盖” 2:静态分析 将代码parsing为某种分析树,然后查找“退出函数”的所有实例 遍历树直到到达API端点,并将该实例添加到端点作为预期的输出(需要保留堆栈跟踪logging以通过散列或类似方式到达那里) 运行testing时,端点将返回堆栈跟踪散列或类似内容,并将其与期望的输出列表进行比较。 优点:自动; 捕获可能导致相同输出代码的不同分支 缺点:生成分析树不是微不足道的; 不会检测永远不会运行的死代码; testing套件需要保持同步 3:分析 我已经在使用GreenHills代码覆盖工具的embedded式系统上完成了这项工作 启动类似dtrace的分析器,并分别logging每个testing的堆栈日志 parsing堆栈日志并将“testing”分配给每行代码 手动分析带注释的代码以查找差距。 优点:半自动; 向开发人员提供有关总覆盖范围的更多信息; 可以看到 缺点:减慢testing; 无法并行执行性能testing; 当可能的结果永远不会发生时,不标志。 还有什么,以及哪些工具可以帮助我进行静态分析和分析目标?