各位大大好
小弟我目前正在透過udemy課程學習全端的知識
目前學到了API的章節
在學習的過程中有個想理解但一直找不到確切原因的問題
以下是程式碼片段
import express from "express";
import bodyParser from "body-parser";
const app = express();
const port = 3000;
const masterKey = "XXX";
app.use(bodyParser.urlencoded({ extended: true }));
app.get("/jokes/:id",(req,res)=>{
const id = parseInt(req.params.id);
const foundJoke = jokes.find((joke)=>joke.id===id);
res.json(foundJoke);
})
app.post("/jokes",(req,res)=>{
const newJoke = {
id : jokes.length +1,
jokeText: req.body.text,
jokeType: req.body.type,
};
jokes.push(newJoke);
console.log(jokes.slice(-1));
res.json(newJoke);
});
//模擬json檔
var jokes=[...];
app.listen(port, () => {
console.log(Successfully started server on port ${port}.
);
});
這部分我想理解的是為什麼我透過postman傳送一則post請求並新增一則joke之後,程式碼中jokes明明沒有新增任何內容,但我透過postman傳送一則get請求最近新增的那項內容時卻能得到回覆?
請求各位解答了,感激不盡
你在使用 post
方法時就已經將 newJoke
push
到 jokes
裡了
jokes.push(newJoke)
所以當使用 get
方法取得 jokes
的資料時,自然就會有 newJoke
的資料了