@RequestBody通常是配合http請求的post請求使用,可是get請求也是能夠用requestbody註解接收參數的。json
GET與@RequestParam,POST與@RequestBody纔是咱們映像中的絕配。有關於GET與POST,@RequestParam與@RequestBody的區別瀏覽器
其實在通常的狀況下,GET請求是不能夠用@RequestBody來接收參數的。通常狀況指的是請求由瀏覽器或者相似於POSTMAN這樣的測試工具發出,咱們都知道,Http請求包含請求頭和請求體,若是發出的請求中請求體爲空,那麼使用@RequestBody註解來獲取參數確定是徒勞的,因此在這種狀況下,GET與@ReqestBody配合使用是有問題的。app
那麼在什麼狀況下能夠配合使用呢?須要兩個條件,一是請求方式爲GET,二是請求參數寫入請求體中。即接口須要被上層的服務調用而非頁面直接訪問。因爲目前微服務的運用愈來愈多,因此通常像這樣的狀況在實際的開發中會變得常見。curl
像這樣的接口如何測試呢?能夠使用curl命令,事例以下:curl -XGET -H "Content-Type:application/json" "http://host:port/requestmapping" -d '{"paramId":[1,2,3]}'微服務