node.js - 如何将一些json数据发布到api中的路由
问题描述
我在 NodeJs 中创建了一个非常简单的 API。这是代码:
const Post = require('../models/article');
...
router.post('/contribute', (req, res) => {
console.log('Pushing new article');
let userPost = req.body;
let post = new Post(userPost);
post.save((error, registeredPost) => {
if (error) {
console.log(error);
} else {
res.status(200).send(registeredPost);
}
})
})
...
module.exports = router;
Post的结构是这样的:
const mongoose = require('mongoose');
const Schema = mongoose.Schema;
const articleSchema = new Schema({
articleid: String,
title: String,
content: String,
date: String,
contributor: String,
upvotes: Number,
upvoters: [String],
downvotes: Number,
downvoters: [String]
})
module.exports = mongoose.model('article', articleSchema, 'articles');
这是server.js
const express = require('express');
const bodyParser = require('body-parser');
const app = express();
const api = require('./routes/api');
const cors = require('cors');
app.use(bodyParser.json());
app.use(cors());
app.use('/api', api);
app.get('/', function(req, res) {
res.send('Server is up and running!');
})
app.listen((3000), function() {
console.log('Server listening on heroku environment port');
});
理想情况下,数据应该来自有角度的表单/模板,但在推送代码之前,我想在 Postman 上进行测试。这是屏幕截图:
我越来越:
无法发布/贡献
请指出我的错误。
解决方案
因为您正在使用:
app.use('/api', api)
因此,请确保使用此端点:
localhost:3000/api/contribute
现在,它会正常工作。
推荐阅读
- python - 直方图的自定义排序
- javascript - 带有默认应用程序 CSS 的 TinyMCE 内容
- javascript - 最小材料表演示 ID 列未呈现?
- youtube - 除了配额分配之外,Youtube Data API V3 还存在哪些限制?
- sql-server - 无法导入包。警告 SQL72012:目标中存在对象
- sql - 从另一个表中获取值后,如何从连接中递归查找值?
- javascript - Firebase 数据库规则:.exists() 始终为真
- python - 如何检查列表元素中是否存在值?
- eclipse-che - 使用多用户模式时如何默认最小化工作区中的仪表板窗格
- ios - 应用内购买弹出窗口不会立即显示,但会延迟显示