學習筆記 | 網路請求帶參數的方式

閱讀時間約 4 分鐘


前篇筆記【什麼是網路請求】時有說到,發送網路請求時,需要向伺服器說明「我是誰」,「我要幹嘛」,「我要什麼資料」,經過伺服器確認後,才從資料庫取回相應的資料回傳

那麼「我要什麼資料」就需要告訴伺服器特定的內容啦,舉例來說:

  1. 我要登入,就必須把「帳號」和「密碼」一起帶在請求內,發送給後端進行驗證
  2. 我想在人事資料表內,篩選出性別是女生的資料,就需要加入「性別是女生」這樣特定的參數

發送請求時,帶入參數的方式也不少,這篇會記錄自己最常使用的三種方式,分別是 URL Path Param、URL Query Param 和 Request Body

URL Path Param & URL Query Param

URL Path ParamURL Query Param 顧名思義就是帶在 URL 上的參數,但兩者在寫法和定義上是有區別的:

  • Path Param 是路徑參數,它會在 URL 上去指定某一筆「特定的資源」
  • Query Param 則是查詢參數、查詢字串,會在 URL 上加入「查詢的條件」

用表格來看會比較清楚一點:

raw-image

也就是說,Path Param 必須是訪問的「資源」之一,而Query Param並不是資源,只是從訪問到的資料中,篩選出與該參數有關的資料

資源指的是具有唯一性、指向性的參數,像 id 就是具有「識別」特定資料、且是「唯一性」的參數,就能透過 Path Param 帶到 URL 裡,並且訪問到特定的資源

raw-image

Path Param的實作,可以用上圖為範例,摩天輪票券是旅遊網站內,眾多產品裡的其中一個品項

  • URL 網址 https://iamamberhh.github.io/HH-STAY/#/product/-NPAPuE2reSHxhtVnUlZ
  • 在 product 後方的就是產品 ID -NPAPuE2reSHxhtVnUlZ,摩天輪票券就相當於 product 這筆龐大資料內的其中一筆「資源」

因此我們可以將 ID 帶到 URL 內,再去呼叫 API ,以取得摩天輪票券的產品內容


Query Param 的部分,我用 Random User 來實作

  • api 路徑 https://randomuser.me/api/?gender=female&nat=us
  • 後方的 ?gender=female&nat=us就是 Query Param ,性別(gender)和國籍(nat) 屬於查詢的「條件」

因此我們可以將這些條件加到 URL 內,進行資料範圍限縮,只取得女性和美國籍的 user 資料

特別要留意的是,請求方法中 get 並沒有 request body,因此要帶參數的話,就只能帶在 URL 內!

其他的請求方法通常會使用 request body 的方式,將密碼(不適合用 URL 傳遞)、token 等重要資訊打包,夾帶在 body 封包裡傳送給伺服器

Request body

Request body 就根據 api 要求,整理好需要的資料格式送出去就可以囉~

const signUpData = {
email: "test@mail.com",
password: "xxxxxxxx",
nickname: "Amberhh"
};

axios.post("api 路徑", signUpData);

小備註一下,目前公司的後端同事會請我在patch/put 請求時,把 Request body 拆分成 data 和 desire,去區分必填和非必填的欄位,資料格式會像是這樣:

const signUpData = {
data: {
email: "test@mail.com",
password: "xxxxxxxx",
},
desire: {
nickname: "Amberhh",
},
};

不確定其他工程師都怎麼實作必填和非必填的欄位,歡迎跟我分享!

其他參考文章:

我是Amber,前端學習中,歡迎交流討論🧸

22會員
22內容數
留言0
查看全部
發表第一個留言支持創作者!
Amber hh的沙龍 的其他內容
上篇記錄了關於 HTTP request 的筆記,這篇則是對於請求的回應紀錄~
上一篇【瀏覽器與伺服器是如何溝通的?】有說瀏覽器和伺服器的溝通橋樑是「網路請求」,這篇就來記錄一下,我目前學習到的網路請求是什麼~
身為一個非本科新手工程師,對於網路知識還是有許多疑惑之處,像是我在編輯器上寫了數十行的程式碼,那它們是怎麼透過終端機的指令被運行起來,讓我可以一邊開發一邊預覽結果呢?
時間真的過得好快,從2022五月的體驗營開始,到後來的切版直播班、JS直播班,將近一年的時間,現在都要從Vue直播班畢業了!
事情是這樣發生的,由於直播班第二週和第三週的作業內容很相似,於是我就把第二週的作業資料夾「複製」了一份,作為第三週的基底,並把第三週的作業內容完成後,準備上傳到一個新建的 week3 遠端 repository ...
9 月份剛從切版直播班畢業(可以看這一篇學習紀錄),我是毫不猶豫的就參加了下一階段的 JavaScript 直播班!當然是因為不滿足於作品只能是靜態的切版頁面,還想加入更多酷酷的效果,但總是會在使用套件上卡住,對 API 的概念也不足,接資料時二二六六的,不甘於被技術受限制的自己,當然要繼續修練😤
上篇記錄了關於 HTTP request 的筆記,這篇則是對於請求的回應紀錄~
上一篇【瀏覽器與伺服器是如何溝通的?】有說瀏覽器和伺服器的溝通橋樑是「網路請求」,這篇就來記錄一下,我目前學習到的網路請求是什麼~
身為一個非本科新手工程師,對於網路知識還是有許多疑惑之處,像是我在編輯器上寫了數十行的程式碼,那它們是怎麼透過終端機的指令被運行起來,讓我可以一邊開發一邊預覽結果呢?
時間真的過得好快,從2022五月的體驗營開始,到後來的切版直播班、JS直播班,將近一年的時間,現在都要從Vue直播班畢業了!
事情是這樣發生的,由於直播班第二週和第三週的作業內容很相似,於是我就把第二週的作業資料夾「複製」了一份,作為第三週的基底,並把第三週的作業內容完成後,準備上傳到一個新建的 week3 遠端 repository ...
9 月份剛從切版直播班畢業(可以看這一篇學習紀錄),我是毫不猶豫的就參加了下一階段的 JavaScript 直播班!當然是因為不滿足於作品只能是靜態的切版頁面,還想加入更多酷酷的效果,但總是會在使用套件上卡住,對 API 的概念也不足,接資料時二二六六的,不甘於被技術受限制的自己,當然要繼續修練😤
你可能也想看
Google News 追蹤
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
11/20日NVDA即將公布最新一期的財報, 今天Sell Side的分析師, 開始調高目標價, 市場的股價也開始反應, 未來一週NVDA將重新回到美股市場的焦點, 今天我們要分析NVDA Sell Side怎麼看待這次NVDA的財報預測, 以及實際上Buy Side的倉位及操作, 從
Thumbnail
Hi 大家好,我是Ethan😊 相近大家都知道保濕是皮膚保養中最基本,也是最重要的一步。無論是在畫室裡長時間對著畫布,還是在旅途中面對各種氣候變化,保持皮膚的水分平衡對我來說至關重要。保濕化妝水不僅能迅速為皮膚補水,還能提升後續保養品的吸收效率。 曾經,我的保養程序簡單到只包括清潔和隨意上乳液
Thumbnail
這是一篇介紹如何使用Google Maps API在網頁上呈現地圖,並進行店家名稱的搜尋的文章。內容包含如何申請Google Cloud Platform的API金鑰、初始化地圖、設定搜尋功能等步驟。文章中提供了部分程式碼範例,並附上圖片說明操作過程。
Thumbnail
先前幾篇筆記介紹了網路請求,瀏覽器儲存資料的方式,那麼實務上,前端最常需要發送網路請求的時候,就是透過呼叫 API,去向後端工程師發送/請求資料,所以今天來記錄什麼是 API吧!
Thumbnail
可能包含敏感內容
學習筆記來自小Lin說影片"一口气搞清避税天堂的资本游戏"。影片中解釋了大富豪們的避稅方式,特別是對於中國大陸公司是如何透過海外公司來上市避稅,甚至像許家印是如何利用這些套路達到最大化自己的利益。
Thumbnail
之前在 學習筆記 | 關於 Cookie、Session、Token 這篇筆記有提到,瀏覽器需要帶著使用者的身分訊息或經過身分驗證後取得的Token(令牌),才能向伺服器請求資源,那麼瀏覽器就必須有個空間來儲存這些 Token 資訊,這篇就是要來記錄瀏覽器常見的儲存空間啦~
Thumbnail
上一篇筆記講到了瀏覽器與伺服器之間,經過身分驗證後,就會改以 Token 這個令牌作為通行證,不需要再反覆驗證,那麼這篇紀錄的就是目前最常使用的 JWT (JSON Web Token) 啦! 可以搭配 JWT 的網站來玩看看 JWT(JSON Web Token) 顧名思義就是以 JSON
本篇最主要是要了解網站前端工程師究竟是什麼?主要工作內容又有哪些?將從三個部份來說明:前端的工作內容、前端所需的軟實力以及前端所需的硬實力。
了解網站的開發流程後再來看看網站開發有哪些角色參與其中吧!
網站的開發流程是如何呢? 透過了解網站開發的流程,能更知道自己的定位以及如何與其它人合作開發網站。
在了解網站是什麼之後,讓我們來了解什麼是網站開發?網站開發究竟在做些什麼呢?
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
11/20日NVDA即將公布最新一期的財報, 今天Sell Side的分析師, 開始調高目標價, 市場的股價也開始反應, 未來一週NVDA將重新回到美股市場的焦點, 今天我們要分析NVDA Sell Side怎麼看待這次NVDA的財報預測, 以及實際上Buy Side的倉位及操作, 從
Thumbnail
Hi 大家好,我是Ethan😊 相近大家都知道保濕是皮膚保養中最基本,也是最重要的一步。無論是在畫室裡長時間對著畫布,還是在旅途中面對各種氣候變化,保持皮膚的水分平衡對我來說至關重要。保濕化妝水不僅能迅速為皮膚補水,還能提升後續保養品的吸收效率。 曾經,我的保養程序簡單到只包括清潔和隨意上乳液
Thumbnail
這是一篇介紹如何使用Google Maps API在網頁上呈現地圖,並進行店家名稱的搜尋的文章。內容包含如何申請Google Cloud Platform的API金鑰、初始化地圖、設定搜尋功能等步驟。文章中提供了部分程式碼範例,並附上圖片說明操作過程。
Thumbnail
先前幾篇筆記介紹了網路請求,瀏覽器儲存資料的方式,那麼實務上,前端最常需要發送網路請求的時候,就是透過呼叫 API,去向後端工程師發送/請求資料,所以今天來記錄什麼是 API吧!
Thumbnail
可能包含敏感內容
學習筆記來自小Lin說影片"一口气搞清避税天堂的资本游戏"。影片中解釋了大富豪們的避稅方式,特別是對於中國大陸公司是如何透過海外公司來上市避稅,甚至像許家印是如何利用這些套路達到最大化自己的利益。
Thumbnail
之前在 學習筆記 | 關於 Cookie、Session、Token 這篇筆記有提到,瀏覽器需要帶著使用者的身分訊息或經過身分驗證後取得的Token(令牌),才能向伺服器請求資源,那麼瀏覽器就必須有個空間來儲存這些 Token 資訊,這篇就是要來記錄瀏覽器常見的儲存空間啦~
Thumbnail
上一篇筆記講到了瀏覽器與伺服器之間,經過身分驗證後,就會改以 Token 這個令牌作為通行證,不需要再反覆驗證,那麼這篇紀錄的就是目前最常使用的 JWT (JSON Web Token) 啦! 可以搭配 JWT 的網站來玩看看 JWT(JSON Web Token) 顧名思義就是以 JSON
本篇最主要是要了解網站前端工程師究竟是什麼?主要工作內容又有哪些?將從三個部份來說明:前端的工作內容、前端所需的軟實力以及前端所需的硬實力。
了解網站的開發流程後再來看看網站開發有哪些角色參與其中吧!
網站的開發流程是如何呢? 透過了解網站開發的流程,能更知道自己的定位以及如何與其它人合作開發網站。
在了解網站是什麼之後,讓我們來了解什麼是網站開發?網站開發究竟在做些什麼呢?