我在這里使用一個硬編碼的簡單物件陣列作為資料.誰能告訴我為什么我不能從postman中發布資料到這里.雖然我能夠得到資料,但只有在發布時遇到麻煩.我的代碼如下
const express = require('express') 。
const app = express()。
app.use(express.json()。
const courses=[
{id:1,name:'course1'},
{id:2,name:'course2'},
{id:3,name:'course3'}.
]
app.get('/',(req,res)=>/span>{
res.send("Hello world"/span>)
})
app.get('/api/users',(req,res)=>/span>{
res.send( courses)。
});
app.post('/api/courses',(req,res)=>/span>{
const course={
id:courses.length 1,
name: req.body.name。
};
courses.push(course)。
res.send(course)。
});
app.get('/api/users/:id',(req,res)=> /span>{
const course = courses.find(c=>c. id===Number(req.params.id) )。
if(!course) res.status(404).send("沒有找到請求ID的課程" )。
res.send(課程)。
});
const port = process.env.PORT || 3000;
app.listen(port,()=>console. log(`listening to port ${port}...`)
uj5u.com熱心網友回復:
我想你是以x-wwww-form-urlencoded的形式發送你的資料。你將不得不決議主體。
嘗試添加這樣的內容:
app.use(express.urlencoded()
為了避免洗掉警告,你可以這樣寫(在決議json的地方也可以這樣做):
app.use(express.urlencoded({ extended。true }))
uj5u.com熱心網友回復:
嘗試一下這段代碼,并檢查一下,你必須在postman中把GET改為POST
POST http://localhost/api/courses
app. post('/api/courses',(req,res)=> /span>{
const {course, name} = req.body // __Refrence For Destructuring __ https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment
let a = parseInt(course) //使用parseInt將字串轉換為int。
for (var i = 0; i < courses.length; i ) {
courses.push({
id : id[i] 1,
name : name[i].
});
}
res.send(courses); // return array of object.
});
對此感到抱歉! 我已經糾正了代碼將陣列推入物件
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/320472.html
標籤:
下一篇:Django用串行器創建擴展用戶
