Я пытаюсь выучить express и как пользоваться почтальоном, и я следую инструкциям. Все шло хорошо, пока я не протестировал router.get, отправив фиктивные данные на сервер. Я использую почтальон, чтобы попытаться отправить на свой локальный хост 500. Вместо того, чтобы получить обратно json данные, которые я отправил, я получаю статус 200 и ничего внизу экрана. Когда я проверяю консоль при попадании на этот маршрут, она записывается на консоль: http://undefined/api/members.
Имейте в виду, у меня нет проблем с использованием router.get для получения json из всех моих участников, и у меня нет проблем с получением json путем поиска только с идентификатором участника. Но по какой-то причине у меня не работает router.post. Я подозреваю, что это связано с анализатором тела. Но я не уверен, почему конкретно это не работает. Пожалуйста, помогите.
Вот так я настроил файл моего приложения:
const express = require('express')
const app = express()
const path = require('path');
const logger = require('./middleware/logger')
const bodyParser = require('body-parser')
app.use(logger)
app.use('/api/members', require('./routes/api/members'))
app.use(bodyParser.json())
app.use(bodyParser.urlencoded({extended: false}))
app.use(express.static(path.join(__dirname, 'public')))
const PORT = process.env.PORT || 5000
app.listen(PORT, () => {
console.log(`Server started on port ${[PORT]}`)
})
Вот как я настроил файл роутера
const express = require('express')
const router = express.Router()
const members = require('../../Members')
router.get('/', (req, res) =>{
res.json(members);
})
router.get('/:id', (req, res) => {
const found = members.some(member => member.id === parseInt(req.params.id));
if(found){
res.json(members.filter(member => member.id === parseInt(req.params.id)))
} else {
res.status(400).json({msg: `No member with the id of ${req.params.id}`})
}
})
router.post('/', (req, res) => {
res.send(req.body)
})
module.exports = router
моего пакета. json:
{
"name": "expressCrashCourse",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"start": "node index",
"dev": "nodemon index"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"body-parser": "^1.19.0",
"express": "^4.17.1",
"moment": "^2.24.0"
},
"devDependencies": {
"nodemon": "^2.0.2"
}
}