[英]POST Request to PUT Request
" 我正在參加的一門開源課程對全棧開發有以下提示: 3.17 : Phonebook database, step5 如果用戶嘗試為姓名已經在電話簿中的人創建新的電話簿條目,前端將嘗試更新通過向條目的唯一 URL 發出 HTTP PUT 請求來獲取現有條目的電話號碼。修改后端以支持此請求。在進行更改后驗證前端是否正常工作。” *
這似乎需要在 app.post 請求中調用一個快速的 app.put 請求。 有什么我在這里想念的嗎? 你如何用 mongoDB/mongoose/expresss 處理這種邏輯? 我當前的郵政編碼粘貼在下面。
謝謝
app.post('/api/persons',(req,res) => {
const body = req.body
const containsNameNumber = body.name && body.number
if(!containsNameNumber){
return res.status(400).json({
error:"must specify a name and a number"
})
}
const phone = new Person({
name: body.name,
number:body.number
})
phone.save().then(savedPerson => {
res.json(savedPerson)
})
})
我認為您誤解了一件事,請檢查RFC7231 中的PUT
定義
PUT
方法請求創建目標資源的狀態或替換為由包含在請求消息有效負載中的表示定義的狀態
重要的是“創建”部分。 因此,對於PUT
如果資源存在,它將被更新,但如果不存在,則將被創建。
如果目標資源沒有當前的表示並且
PUT
成功創建了一個,那么源服務器必須通過發送201 (Created)
響應來通知用戶代理。
所以你只需要做一個PUT
調用並檢查是否存在更新(返回200 Ok
)或不存在創建(返回201 Created
)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.