Tag: 邮差

尝试迭代节点js中的对象列表

我想通过邮递员工具发送对象列表,并在我的服务器端代码接收它,这是我通过邮递员工具发送的JSON代码,并通过邮政方法接收它 { "user1" : { "name" : "grijan", "prof" : "student" }, "user2" : { "name" : "vijay", "prof" : "teacher" } } 我的服务器端代码 var express = require('express'); var app = express(); app.use(express.urlencoded({ extended: false })); app.use(express.json()); app.post('/saveUser',function(req,res){ var obj= req.body; console.log(obj); //code for iteration ???? }) var server = app.listen(8008,function(){}); 我需要遍历对象和对象中的字段! 仅供参考我是新的节点,这是我的第二天:)

与邮差的jsonschema

我用node.js和express.js做了一个简单的web api,我想validation将json数据input到我的应用程序的模式。 我有这个非常确切的模式: var schema = { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Student", "description": "Schema for student", "type": "object", "properties": { "first_name": { "description": "Firts name of the student", "type": "string" }, "last_name": { "description": "Last name of the student", "type": "string" } }, "additionalProperties": false, "required": ["first_name", "last_name"] }; 我只想validation(现在)的名字和姓氏。 所以我添加了“additionalProperties”,所以只有名字和姓氏的json才是有效的。 当我用POSTMANtesting我的应用程序与以下数据时,我得到了很多错误。 (这应该是有效的) {"first_name":"Test", "last_name":"Test"} 这应该是无效的: […]

节点js发布不与邮递员工作

我正在尝试在AWS上为节点JS服务器创build一个服务器(不知道这是多么的相关),我正在用Postmantesting它。 出于某种原因,我的Hello Worldfunction,这只是一个GET完美,但我的POST创build用户不断给我这个错误: TypeError: Cannot read property 'username' of undefined at app.get.params.QueueUrl (/home/ec2-user/Outfitr/Server/index.js:40:29) at Layer.handle [as handle_request] (/home/ec2-user/Outfitr/Server/node_modules/express/lib/router/layer.js:82:5) at next (/home/ec2-user/Outfitr/Server/node_modules/express/lib/router/route.js:110:13) at Route.dispatch (/home/ec2-user/Outfitr/Server/node_modules/express/lib/router/route.js:91:3) at Layer.handle [as handle_request] (/home/ec2-user/Outfitr/Server/node_modules/express/lib/router/layer.js:82:5) at /home/ec2-user/Outfitr/Server/node_modules/express/lib/router/index.js:267:22 at Function.proto.process_params (/home/ec2-user/Outfitr/Server/node_modules/express/lib/router/index.js:321:12) at next (/home/ec2-user/Outfitr/Server/node_modules/express/lib/router/index.js:261:10) at serveStatic (/home/ec2-user/Outfitr/Server/node_modules/express/node_modules/serve-static/index.js:59:14) at Layer.handle [as handle_request] (/home/ec2-user/Outfitr/Server/node_modules/express/lib/router/layer.js:82:5) 这是我的代码: var express = require("express") var app = express(); var […]

如何从节点中的客户端提取zip

我有一个节点的应用程序,需要从客户端邮递员得到一些zip文件,并将其解压到我的文件系统中的一个文件夹,我使用快递我做了下面的工作, 我在这里错过了什么? 我已经创build了示例节点应用程序来模拟问题。 var express = require('express'); var upload = require('multer')({ dest: 'uploads/' }); var admZip = require('adm-zip'); var app = express(); app.post('/',upload.single('file'),function(req,res){ debugger; var zip = new admZip(req.file); zip.extractAllTo("C://TestFolder//TestPathtoExtract", true); res.send("unzip"); }); var server = app.listen(3001,function(){ var host = server.address().address; var port = server.address().port; console.log('Example app listening at http://%s:%s',host,port); }) 这是我使用它即时邮递员 如果还有其他方式可以用不同的开源代码来实现,那就太棒了! 我使用https://github.com/cthackers/adm-zip 这可以更改为任何其他库 […]

通过未定义的POST API的身体价值?

我正在使用mongoose在MEAN堆栈上构build一个API。 该API应该处理用户注册和身份validation。 为了testing这个,我使用扩展名为chrome的邮递员向/signup提交post请求。 app.use("/signup", bodyParser.urlencoded({ extended: false })); app.post("/signup", Auth.userExist, function (req, res, next) { if (!req.body.email || !req.body.password) { res.json({success: false, msg: 'Please pass name and password.'}); console.log("email: " + req.body.email); console.log("password: " + req.body.password); } else { //do create new user logic… res.json({success: true, msg: 'Successful created new user.'}); } }); 在这里,您可以看到我在向API发送请求的正文中发送的内容: 在控制台中,我得到这个: […]

如何将图像上传到AWS S3

pin.js function uploadPinMedia(req, res, next) { var s3 = new AWS.S3({ accessKeyId: 'AKIAIUCBE3TQGL6ATPBA', secretAccessKey: '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', Bucket: 'mapery-v2' }); var data = { Bucket: 'mapery-v2', Key: 'upload-v2', Body: req.files.pin_img }; s3.putObject(data, function(err, media_res) { if(err) console.log('error uploading data', media_res); console.log(media_res); }); } 我试图从邮差上传一个图像到s3桶,但它似乎是我传递的forms数据req.files.pin_img是不正确的。 我错了吗?

我试图保存经纬度mongoose模型,但我无法存储它们

这是我的mongoose模型 var mongoose = require('mongoose'), Schema = mongoose.Schema var DriverSchema = new mongoose.Schema({ carNumber : {type : String, required : true, unique : true}, DriverName : {type : String, required : true}, loc : { type: [Number], index:'2d' } }); 我试图从postman发布经纬度是: carNumber KA51B7499 DriverName Sachin longitude 74.9999 latitude 67.2563 我在下面的代码中将这个请求保存在mongoose中: router.post('/',function(req,res){ var Driver = new […]

邮差回应:无法从服务器得到任何回应

我试图创build一个待办事项列表的应用程序,并检查与POSTMAN在每一种types的请求。 GET和POST请求正常工作。 但是PUT和DELETE不能按预期工作。 正如预期的意思:这是不显示404既不显示结果,而是显示错误,即无法得到任何答复。 这是我的代码put和delete: var todos = []; // DELETE /todos/:id app.delete('/todos/:id', function(req,res){ var todoId = parseInt(req.params.id, 10); var matchedTodo = _.findWhere(todos, {id: todoId}); if(!matchedTodo){ res.status(404).send(); }else{ todos = _.without(todos, matchedTodo); res.json(matchedTodo); //console.log(todos); } }); // PUT /todos/:id app.put('/todos/:id', function(req,res){ var todoId = parseInt(req.params.id, 10); var matchedTodo = _.findWhere(todos, {id: todoId}); var body = […]

如何提取body请求node.js

我刚开始学习node.js(Express),我创build了一个简单的应用程序,与一个非常简单的mongo数据库进行通信。 我在一个名为'testDB'的数据库中有一个名为'Users'的集合。 我在我的node.js应用程序中创build了我的框架,并遵循“分离关注”逻辑。 在我的控制器文件夹中,我有一个名为usersController的子文件夹。 在该子文件夹内,有2个.js文件,一个是usersControllers.js,另一个是usersRoutes.js 在usersRoutes.js里面有以下代码: "use strict"; var express = require('express'); var router = express.Router(); // require the controller here var usersController = require("./usersController.js")(); router .get('/', usersController.getAllUsers) .post('/', usersController.createUser); module.exports = router; 正如你所看到的,我正在调用名为“createUser”的位于usersController.js中的函数(工厂)。 这个函数的写法如下: "use strict"; var MongoClient = require('mongodb').MongoClient; var usersController = function(){ var getAllUsers = function(req, res){ MongoClient.connect('mongodb://localhost/testDB', function(err, db){ if(err){ throw […]

Nodejs可变路由

我有和variablesnodejs路由,我试图在MongoDB的使用mongoose的聚集函数中使用这些值: apiRoutes.get('/val6/:_level/:location', function(req, res) { val6.aggregate([ { $match: { [req.params.location]:true } }, { $sample:{size:1} } ], function(err, val6) { res.json(val6); }) }); 当我发送邮递员请求时,我得到一个val2设置为true的随机项目 当我在我的match子句中添加另一个条件时,如下所示: $match: { [req.params.location]:true, level:1 } 我绝对没有比赛,但在上面的截图,水平是一个。 我究竟做错了什么? 编辑一个 $match: { level:1, [req.params.location]:true } 切换值似乎解决了这个问题(所以我认为这是一个通常与计算的JavaScript值的错误),但导致我下一个问题,我实际上面临着。 console.log(req.params.location); console.log(req.params.level) / /logging'val6'(位置)和'1'(级别)在这样的代码内使用它们,不工作: $match: { level:req.params.level, [req.params.location]:true } 所以硬编码的值工作,但variables值不。 任何人都有线索?