Tag: api

Node.js Loopback:TypeError:无法读取未定义的属性'createModel'

超级Noob在这里,我有一个使用环回的REST API的问题这里是我的错误: TypeError: Cannot read property 'createModel' of undefined at module.exports (/home/…../node_modules/loopback-component-oauth2/lib/models/oauth2-models.js:35:30) at module.exports (/home/…../node_modules/loopback-component-oauth2/lib/models/index.js:24:42) at Function.module.exports [as oAuth2Provider] (/home/…../node_modules/loopback-component-oauth2/lib/oauth2-loopback.js:48:16) at Object.<anonymous> (/home/…../server/server.js:17:8) at Module._compile (module.js:569:30) at Object.Module._extensions..js (module.js:580:10) at Module.load (module.js:503:32) at tryModuleLoad (module.js:466:12) at Function.Module._load (module.js:458:3) at Function.Module.runMain (module.js:605:10) at startup (bootstrap_node.js:158:16) at bootstrap_node.js:575:3 这里是我在我的server.js: 'use strict'; var loopback = require('loopback'); var boot […]

将前端的值传递给后端,而不使用url

我有一个平均堆栈应用程序。 在后端,我有api.js : var express = require('express') var router = express.Router(); var body = 'response.send("hello fixed")'; var F = new Function ("request", "response", body); router.get('/api/special', F); module.exports = router; 因此,在浏览器中https://localhost:3000/api/special返回hello fixed 。 现在,我想让前端定义body的内容。 例如,我可以在网页上制作一个textarea,用户可以随意input例如response.send("hello flexible") 。 然后,我需要将这些内容传递给nodejs,以便https://localhost:3000/api/special现在返回hello flexible 。 有谁知道如何做到这一点? 编辑1:继李安李的评论,我修改了api.js : var express = require('express') var router = express.Router(); router.put('/endpoint', function (req, res, next) […]

快速有效地创buildCSV文件报告,而不会减慢node.js服务器的速度

我有一个Node.js快速API,托pipe在一个Azure应用服务上,提供来自SQL服务器数据库的数据。 一个新的要求是根据可定制的数据导出报告。 这些应该是即时生成的CSV文件。 我面临的问题是,在某些情况下,CSV文件将会非常大(可能是50万行)。 我不难创build这些文件,然后将它们上传到Blob存储,或者直接将它们提供给用户。 但是,正如你可以想象的那样,这将花费一些负载在服务器上。 这个API每分钟提供约500个Post / Get请求。 Node的单线程特性意味着当有人请求类似的CSV文件时,服务器将抓取。 我需要一些build议,而不是做什么。 我的想法是启动一个新的应用程序,在一个新的服务器上(可能是一个用ASP.NET编写的),负责创buildCSV文件。 它公开一个接收参数来创build文件的结束点,然后用文件或链接进行响应。 但是,因为它是一个单独的服务器(如果我做了类似于.NET的单独线程),它在等待响应时不会降低节点服务器的速度。 这看起来好像很多工作。 有什么简单的吗? 我对任何可以直接连接到SQL数据库并生成报告的服务开放(所以我可以把它给客户端,而不是定制的报告,我需要硬编码)。

如何在单独的路由中捕获响应错误/消息?

我只是想捕获中间件函数的响应错误,如果我写代码如下所示: var express = require('express'); var expressValidator = require('express-validator'); var app = express(); var bodyParser = require('body-parser'); var router = require('./routes'); //monk.mongoList(); app.use(bodyParser.urlencoded({extented:true})); app.use(bodyParser.json()); app.use(expressValidator([])); var port = process.env.PORT || 8978; router.get('/',function(req,res,next) { var error = Error('Article is not found'); next(error.message); return res.send("Hello World!"); }); app.use(function(err,req,res,next) { console.log(err + "TET"); }) app.listen(port); 但是我想分开下面的代码: app.use(function(err,req,res,next) { […]

如何在nodejs中的端点调用中传递一个variables

我有一个variables,例如var merchanttoken = requestConfig.merchant_connect_token ,如何通过它时,呼叫端点例如 request.get('http://pi.call/v2/{merchanttoken}/info, function) 我需要在URL中传递variables。

Slackbot api无法收到消息

我正在用NodeJS构build一个SlackBot。 我目前使用这个库slackbots ,但问题是,初始化后,机器人不出现在应用程序类别,但它是在SlackBot内,每次我input一条消息,它会返回一条错误消息: I'm sorry, I don't understand! Sometimes I have an easier time with a few simple keywords. Or you can head to our wonderful Help Center for more assistance! 另一方面,当我发送消息给用户时,我可以看到我设置的bot: 我怎样才能让机器人Hugo与SlackBot内部的SlackBot分开? 这就是我设置它的方式: var SlackBot = require('slackbots'); var bot = new SlackBot({ token: process.env.SLACK_TOKEN, name: 'Hugo' }); function get() { return bot; } exports.get […]

如何在NodeJS中允许表单数据

我最近创build了一个接受文件的API。 我正在尝试使用邮差testingAPI。 如果我使用x-wwww-form-urlencoded正文types发布post请求,那么所有的工作,我得到所有预期的数据。 唯一的问题是它不允许发送文件。 如果我使用form-data体types,它允许您发送文件,我不会在后端收到任何东西。 不知道邮差是否有问题,或者我做错了什么。 我的直觉是后端目前不接受form-data ,这就是为什么我没有收到任何数据。 我能做些什么来改变这种状况? 我的标题看起来像这样到目前为止, res.setHeader('Access-Control-Allow-Origin', origin); res.header("Access-Control-Allow-Methods", "GET, POST, PATCH, PUT, DELETE, OPTIONS"); res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept, form-data"); app.js app // static route will go to the client (angular app) .use(express.static('client')) // secured routes .use('/api', secured_route) // add a user route .post('/user', user_api_controller.add_user) // delete this in the […]

谷歌stream行时间在nodejs

谷歌提供了最新的Api“stream行时代”,以获取关于特定时间的特定时间的数据,或者正在忙碌或stream行。 但是它带有python实现。 有没有人知道一个方法来使用谷歌stream行时间api Node.js项目内? https://github.com/m-wrzr/populartimes这个链接让你获得一个Python代码..如何包含或如何获得节点项目的api

授权问题与节点js请求

我有一个困难的时间进行validation的请求,盟友/报价报价stream。 我正在使用节点JS来提出请求。 我已经尝试了几种方法来提出请求,但为了这个问题的目的,我将使用oauth模块来坚持从他们网站的例子。 我想要做的是console.log(数据),我期望一个股票报价stream 。 相反,我返回401未经授权的。 任何人都可以指出我的方向,以更好地解决这个问题,或提供更正? 这是我的代码和服务器响应: ///码/// var OAuth = require('oauth').OAuth; var credentials = { consumer_key: "xxxxxxxxxxx", consumer_secret: "xxxxxxxxxxx", access_token: "xxxxxxxxxxx", access_secret: "xxxxxxxxxxx" }; var oa = new OAuth(null, null, credentials.consumer_key, credentials.consumer_secret, "1.0", null, "HMAC-SHA1"); var request = oa.get("https://stream.tradeking.com/v1/market/quotes?symbols=AAPL", credentials.access_token, credentials.access_secret); request.on('response', function (response) { response.setEncoding('utf8'); console.log(response.statusCode) console.log(response) }); request.end(); ///响应/// 401 IncomingMessage […]

如何使用请求模块发出请求模块NodeJs express

如何对此端点进行适当的发布请求。 当我使用POSTMAN我得到正确的响应,但是当我使用下面的函数调用时,我得到503错误。 根据我的说法,这个电话似乎很好。 我感谢您的帮助!! const request = require('request'); const express = require('express'); // Initialize request var img64Data = "/9j/4AAQSkZJRgABAQAAAQABAAD/2w… "; // Include the entire base64 encoding. // Shown Below in the next page var send = {"img64": img64Data}; var api_address = "https://8n78hbwks0.execute-api.us-west-2.amazonaws.com/dev/"; // Make Post Request module.exports = app => { app.post('/axe', (req, res, next) […]