热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

失眠中的“无法读取未定义的属性'名称'”POSTJSON方法

我用于测试我的项目API失眠(例如Postman)程序,当我使用GET方法时都没有问题,但是P

我用于测试我的项目API失眠(例如Postman)程序,当我使用GET方法时都没有问题,但是POST方法返回未定义的req.body.namereq.body.price
我抓住的这个error是我的要求
query

这是我的app.js

const express = require('express');
const app = express();
const morgan = require('morgan');
const mOngoose= require('mongoose');
require('dotenv').config()
mongoose.connect(`mongodb+srv://vadim:${process.env.MONGO_ATLAS_PS}@cluster0-abuqs.mongodb.net/shop`,{
useNewUrlParser: true,useUnifiedTopology: true
});
const productRoutes = require('./api/routes/
app.use(morgan('dev'));
app.use('/products',productRoutes);
module.exports = app;

这是我的products.js路由器

const express = require('express');
const router = express.Router();
const mOngoose= require('mongoose');
const Product = require('../models/product')
router.post("/",(req,res,next) => {
console.log(JSON.stringify(req.body))
const product = new Product({
_id: new mongoose.Types.ObjectId(),name: req.body.name,price: req.body.price
});
product
.save()
.then(result => {
console.log(result);
res.status(201).json({
message: "Handling POST requests to /products",createdProduct: result
});
})
.catch(err => {
console.log(err);
res.status(500).json({
error: err
});
});
});

product.js的模型

const mOngoose= require('mongoose');
const productSchema = mongoose.Schema({
_id: mongoose.Schema.Types.ObjectId,name: String,price: Number
});
module.exports = mongoose.model('Product',productSchema);


您需要使用body解析器通过express的POST方法捕获数据。

首先,您需要安装它:

npm install body-parser --save

然后在您的代码中:

const express = require('express');
const router = express.Router();
const mOngoose= require('mongoose');
const Product = require('../models/product');
const bodyParser = require('body-parser');
express.use(bodyParser.json());
express.post("/",(req,res,next) => {
console.log(JSON.stringify(req.body))
const product = new Product({
_id: new mongoose.Types.ObjectId(),name: req.body.name,price: req.body.price
});
//The rest of your code
});

有关更多信息,read the package docs。


推荐阅读
  • 在JavaWeb开发中,文件上传是一个常见的需求。无论是通过表单还是其他方式上传文件,都必须使用POST请求。前端部分通常采用HTML表单来实现文件选择和提交功能。后端则利用Apache Commons FileUpload库来处理上传的文件,该库提供了强大的文件解析和存储能力,能够高效地处理各种文件类型。此外,为了提高系统的安全性和稳定性,还需要对上传文件的大小、格式等进行严格的校验和限制。 ... [详细]
  • 本文介绍了如何使用 Node.js 和 Express(4.x 及以上版本)构建高效的文件上传功能。通过引入 `multer` 中间件,可以轻松实现文件上传。首先,需要通过 `npm install multer` 安装该中间件。接着,在 Express 应用中配置 `multer`,以处理多部分表单数据。本文详细讲解了 `multer` 的基本用法和高级配置,帮助开发者快速搭建稳定可靠的文件上传服务。 ... [详细]
  • 深入浅出 webpack 系列(二):实现 PostCSS 代码的编译与优化
    在前一篇文章中,我们探讨了如何通过基础配置使 Webpack 完成 ES6 代码的编译。本文将深入讲解如何利用 Webpack 实现 PostCSS 代码的编译与优化,包括配置相关插件和加载器,以提升开发效率和代码质量。我们将详细介绍每个步骤,并提供实用示例,帮助读者更好地理解和应用这些技术。 ... [详细]
  • Web开发框架概览:Java与JavaScript技术及框架综述
    Web开发涉及服务器端和客户端的协同工作。在服务器端,Java是一种优秀的编程语言,适用于构建各种功能模块,如通过Servlet实现特定服务。客户端则主要依赖HTML进行内容展示,同时借助JavaScript增强交互性和动态效果。此外,现代Web开发还广泛使用各种框架和库,如Spring Boot、React和Vue.js,以提高开发效率和应用性能。 ... [详细]
  • Vue应用预渲染技术详解与实践 ... [详细]
  • 本文详细介绍了在 Vue.js 前端框架中集成 vue-i18n 插件以实现多语言支持的方法。通过具体的配置步骤和示例代码,帮助开发者快速掌握如何在项目中实现国际化功能,提升用户体验。同时,文章还探讨了常见的多语言切换问题及解决方案,为开发人员提供了实用的参考。 ... [详细]
  • React项目基础教程第五课:深入解析组件间通信机制 ... [详细]
  • Apifox使用攻略
    目录前言 ... [详细]
  • 【实例简介】本文详细介绍了如何在PHP中实现微信支付的退款功能,并提供了订单创建类的完整代码及调用示例。在配置过程中,需确保正确设置相关参数,特别是证书路径应根据项目实际情况进行调整。为了保证系统的安全性,存放证书的目录需要设置为可读权限。值得注意的是,普通支付操作无需证书,但在执行退款操作时必须提供证书。此外,本文还对常见的错误处理和调试技巧进行了说明,帮助开发者快速定位和解决问题。 ... [详细]
  • 在 Vue 应用开发中,页面状态管理和跨页面数据传递是常见需求。本文将详细介绍 Vue Router 提供的两种有效方式,帮助开发者高效地实现页面间的数据交互与状态同步,同时分享一些最佳实践和注意事项。 ... [详细]
  • Java环境中Selenium Chrome驱动在大规模Web应用扩展时的性能限制分析 ... [详细]
  • JavaScript XML操作实用工具类:XmlUtilsJS技巧与应用 ... [详细]
  • 在深入研究 React 项目的过程中,特别是在探索 react-router 源码时,我发现了其中蕴含的中间件概念。这激发了我对中间件的进一步思考与整理。本文将详细探讨 Redux 中间件的原理及其在实际项目中的应用,帮助读者更好地理解和使用这一强大工具。通过具体示例和代码解析,我们将揭示中间件如何提升应用的状态管理和异步操作处理能力。 ... [详细]
  • 本文探讨了Android系统中支持的图像格式及其在不同版本中的兼容性问题,重点涵盖了存储、HTTP传输、相机功能以及SparseArray的应用。文章详细分析了从Android 10 (API 29) 到Android 11 的存储规范变化,并讨论了这些变化对图像处理的影响。此外,还介绍了如何通过系统升级和代码优化来解决版本兼容性问题,以确保应用程序在不同Android版本中稳定运行。 ... [详细]
  • postman使用环境变量
    变量postman提供了变量设置,有四种变量类型本地变量全局变量环境变量数据变量什么是环境变量环境变量指在不同环境,同一个变量值随着环境不同而变化,比如在测试环境时,host为:d ... [详细]
author-avatar
zhongxiaomin1981
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有