axios的GET和DELETE可以有body嗎
先說結論
Delete可以
Get不行
規範上,GET 和 DELETE 都最好不要有body
碰到這種情形,建議請後端把endpoint改成用網址參數
真的改不了,再往下看吧
那麼,DELETE要怎麼用
axois的API沒有直接支援
但可以加在request config裡
request config裡有一個data,會被轉換成body
data可以用在PUT、POST、PATCH和DELETE
程式範例如下:
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const request_config = { | |
data: { | |
name: 'John Doe', | |
id: '123' | |
} | |
} | |
const reponse = await axios.delete("http://localhost:3000/", request_config) | |
說一下GET,GET完全不能有body
已經不是axios的問題了,是連瀏覽器都不支援
改用fetch的話,他會更直接告訴你GET不能有body
但是 POSTMAN 和 INSOMNIA 這些測試軟體
是可以給GET加body的
所以後端有可能會給出有body的GET
參考文件:
axios官方文件 https://axios-http.com/docs/req_config
SO討論區 https://stackoverflow.com/questions/46404051/send-object-with-axios-get-request
文章標籤
全站熱搜