前台傳遞POST與GET請求時,後台接收資料

2021-08-28 14:38:58 字數 771 閱讀 1968

今天9月30號,距離放假還有一天,划水過程中記錄一下曾經遇到的問題。

get請求:在常規理解上來,是跟在位址列後方的眾多變數,在後台接收的時候,我們可以定義乙個包裝物件,或者是直接用引數來接收,或者用map來接收都可以,其中我們可能會用到@requestparam註解來對接收到的資料進行預設賦值,是否是必須欄位等實現功能。

post請求:post請求是接收乙個表單內部的資料,我們平時採用的方式也是定義包裝類物件來接收。當然,在前後端分離的情況下(前台向後台傳遞乙個json字串時),我們要採用@requestbody來將其轉化為我們所要的包裝類物件。那麼重頭戲來了,設計個場景:

前台向後台傳遞json字串資料時,乙個包裝類無法存放方法體中的資料(即有部分屬性不在你定義的包裝類中時),那麼當接收資料的時候,可以用兩個物件(都採用@requestbody)來接收嗎?答案是不可以,因為乙個post請求也只傳遞乙個整體表單資料,同樣@requestbody在入參中只能定義一次,將表單資料封裝成乙個物件接收。針對這種情況,解決辦法 ,可以重新定義乙個接收引數的包裝類,當然這樣有點費事。我個人習慣的兩種用法,在入參處定義乙個map,然後針對性的從map當中取資料,或者在引數中將所有屬性都一一定義成區域性變數,採用@requestparam註解從前台也可以獲取到值,代入其中去運算。

公司目前在用微服務,簡單的理解,就是把我們平時所用的service層給註冊成乙個服務,controller層對其進行遠端呼叫。那麼在傳遞post請求與get請求時,service的服務請求型別和controller接收到的請求型別並無關聯,可以隨意使用。

隨手記錄一下。

GET請求與POST請求 本質

get和post是http請求的兩種基本方法,要說它們的區別,接觸過web開發的人都能說出一二。最直觀的區別就是get把引數包含在url中,post通過request body傳遞引數。你可能自己寫過無數個get和post請求,或者已經看過很多權威 總結出的他們的區別,你非常清楚知道什麼時候該用什麼...

三 Get請求與Post請求

public static string sendget string url,string param 定義bufferedreader輸入流來讀取url的響應 in new bufferedreader new inputstreamreader connection.getinputstrea...

get與post請求區別

一 語義區別 http請求中get的語義是請求獲取資源,是安全 冪等 可快取的,報文主體沒有任何語義。post的語義處理資源是根據請求報文主體,對指定資源做處理,是不安全 不冪等 不可快取的 大部分 二 表現形式區別 1 get中請求引數是附在url裡,以?分割url和傳輸資料,引數之間以 相連。如...