Tag: rest

Node.js通过REST API发送图像

我努力寻找材料 我有一个使用mongoDB编写的用node.js编写的API。 我希望用户能够上传图片(个人资料图片),并保存在服务器上(在mongoDB)。 有几个问题,我见过build议使用GridFS,这是最好的解决scheme吗? 我如何发送这些文件? 我见过res.sendFile,但这又是最好的解决scheme吗? 如果有人有任何材料,他们可以链接我,我会感激 谢谢

在回送中的REST连接器查询中复制密钥

我想问你是否知道我怎么可能在环回REST连接器查询中重复参数。 我有以下代码: details: { 'template': { 'method': 'GET', 'debug': true, 'url': 'https://www.example.com/data', 'timeout': 10000, 'headers': { 'Authorization': 'Bearer {token}' }, 'query': { q: 'PHOTOS' q: 'DETAILS', id: '{id}' }, 'options': { 'useQuerystring': true }, 'responsePath': '$' }, 'functions': { 'searchData': [ 'token', 'id' ] } } 问题在于,看起来loopback覆盖了最后一个参数q的值,因为我只获取最后一个参数的信息。 任何想法如何解决它? 谢谢你,

Http Request不能立即在Nodejs服务器中发送响应

我将JSON请求逐个发送到nodejs服务器。 第六次请求后,服务器无法立即回复客户端,然后花费一点时间(15秒或更多一点,并发回给我答案200确定)它发生一个写入MongoDB的json值和时间是重要的选项我与REST通话。 在这种情况下如何find错误? (哪些工具或脚本代码可以帮助我?)我的服务器端代码是这样的 var controlPathDatabaseSave = "/save"; app.use('/', function(req, res) { console.log("req body app use", req.body); var str= req.path; if(str.localeCompare(controlPathDatabaseSave) == 0) { console.log("controlPathDatabaseSave"); mongoDbHandleSave(req.body); res.setHeader('Content-Type', 'application/json'); res.write('Message taken: \n'); res.write('Everything all right with database saving'); res.send("OK"); console.log("response body", res.body); } }); 我的客户端代码如下: function saveDatabaseData() { console.log("saveDatabaseData"); var oReq = new XMLHttpRequest(); oReq.open("POST", "http://192.168.80.143:2800/save", […]

Linux的nodejsrest服务只工作localhost

我正在开发一个REST API与节点js在Linux上。 这是我的第一个示例代码来尝试,如果一切正常工作: 'use strict'; var express = require("express"); var app = express(); var port = process.env.PORT || 8080 ; app.listen(port, "127.0.0.1", function(){ console.log("Express server is listening on port ", port); }); 我已经尝试调用本地主机:8080到Linux服务器,并正常工作。 如果我尝试通过外部IP调用服务器的IP与此端口的快递服务器没有响应。 有关于此的任何帮助? 谢谢

不完整的节点HTTP.Response

我的应用程序build立一个需要连接的自定义整数数组,以创build经济数据的dynamic请求。 一旦我的variables选项被创build,我通过一个http请求推送它,并尝试parsing响应,在那里我得到一个错误 – SyntaxError: Unexpected end of JSON input at JSON.parse (<anonymous>) 当我使用我的代码来读取正文时,响应提前切断,并且在console.log()中没有得到完整的响应。 我已经testing了请求值,并将结果放在我的search栏中,并取得了积极的结果。 任何想法,为什么身体的反应被缩短? 我需要从这个请求中读取所有的数据,并在parsing的时候得到错误。 这是代码 – var options = { host: 'api.eve-central.com', port: 80, path: '/api/marketstat/json?typeid=18&typeid=19&typeid=20&typeid=21&typeid=22&typeid=34&typeid=35&typeid=36&typeid=37&typeid=38&typeid=39&typeid=40&typeid=41&typeid=42&typeid=43&typeid=44&typeid=45&typeid=49&typeid=50&typeid=51&typeid=52&typeid=164&typeid=165&typeid=166&typeid=178&typeid=179&typeid=180&typeid=181&typeid=182&typeid=183&typeid=184&typeid=185&typeid=186&typeid=187&typeid=188&typeid=189&typeid=190&typeid=191&typeid=192&typeid=193&typeid=194&typeid=195&typeid=196&typeid=197&typeid=198&typeid=199&typeid=200&typeid=201&typeid=202&typeid=203&typeid=204&typeid=205&typeid=206&typeid=207&typeid=208&typeid=209&typeid=210&typeid=211&typeid=212&typeid=213&typeid=215&typeid=216&typeid=217&typeid=218&typeid=219&typeid=220&typeid=221&typeid=222&typeid=223&typeid=224&typeid=225&typeid=226&typeid=227&typeid=228&typeid=229&typeid=230&typeid=231&typeid=232&typeid=233&typeid=234&typeid=235&typeid=236&typeid=237&typeid=238&typeid=239&typeid=240&typeid=241&typeid=242&typeid=243&typeid=244&typeid=245&typeid=246&typeid=247&typeid=248&typeid=249&typeid=250&typeid=251&typeid=252&typeid=253&typeid=254&usesystem=30000142', method: 'GET' } function requester(options) { 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); […]

Twilio nodejs客户端指定PageSize查询参数

根据文档,在做GET资源列表时,应该能够指定PageSize参数 https://www.twilio.com/docs/api/rest/response#response-formats-list-filters 你如何使用NodeJS客户端做到这一点? 要传递到/ Accounts / [AccountSid] / Messages / [MessageSid]的唯一可用参数是(from / to / dateSent)

我可以在REST API中为不同的方法编写相同的path名吗?

我正在使用Swagger API编写REST API。 现在,我想以下面的方式编写插入,更新和删除的方法(我已经看到许多API在线上的这样的path): POST (插入) /学生们 PUT (用于更新) /学生/ {} studentId 删除 (删除) /学生/ {} studentId 现在,1是好的,但2和3是相同的path(但有不同的方法)。 Swagger API给我错误,当我这样写。 那么这真的不被允许? 如果不允许,那么定义不同path的最好方法是什么,而不要让它们变长,仍然看起来很酷?

REST API:在GUI中无限滚动分页,但允许search所有条目

我有Express运行在一个Node.js服务器,作为我的React前端应用程序的支持。 前端应用程序通过REST调用从后端(存储在Mongo中)获取数据,并将这些数据显示在表中。 数据量一天增长,所以我应该考虑减less传输到前端应用程序的数据量,以免在后端造成不必要的压力。 我不知道这是否是正确的方法,但我一直在考虑让backen获取有限的条目,以便只有这些数据才会显示在前端表中。 问题出现在search中 – 当用户想要search表中的数据时,我需要能够search所有条目,而不仅仅是加载到表中的数据。 我想一个select是让searchfunction实际查询REST API,而不是search表本身。 如果我在正确的轨道上,我想我可以实现REST API分页,在https://refactoringfactory.wordpress.com/2012/09/08/pagination-in-node-js-and-表示/ 。 其他build议如何实施分页是受欢迎的。 我非常喜欢我所描述的方法的一些input,并提出更聪明的方法来实现这一点。 编辑:我改变了标题有些包括“无限滚动分页”。 这是我正在寻求实施。 目前我点击页面分页设置,但是想replace为无限滚动分页。

Node.js REST API从MongoDB中获取数据

我正在尝试使用Node.js创build一个REST API,它将获取MongoDB集合的最后N行。 这是我现在的代码: var express = require("express"); var app = express(); var bodyParser = require("body-parser"); var router = express.Router(); var mongodb = require("mongodb"); var MongoClient = require("mongodb").MongoClient; var db; app.use(bodyParser.json()); app.use(bodyParser.urlencoded({"extended" : false})); // Initialize connection once MongoClient.connect("mongodb://localhost:27017/sample", function(err, database) { if(err) return console.error(err); db = database; // the Mongo driver recommends starting the server […]

在网页上提供REST-API数据而不暴露API端点

我是MEAN的初学者。 当调用未经身份validation的REST API(不需要用户login)时,API端点将暴露在JS文件中。 通过论坛看来,没有办法阻止滥用者直接使用API​​端点,甚至无法使用这些端点创build自己的Web /应用程序。 所以我的问题是,有没有办法避免暴露JS文件中的端点? 在类似的说明中,是否有任何方法,不要在前端使用REST调用,仍然能够在MEAN堆栈中提供这些dynamic内容/ API输出数据? 我使用EJS。