2017-08-08 62 views
0

使用@GetMapping時,我可以使用@RequestParam註釋將每個獲取查詢參數綁定到一個方法參數。 下不起作用,那就只能是有效的與@GetMapping將@PostMapping綁定到多個參數而不是模型bean?

//@PostMapping("/search") 
@GetMapping("/search") 
public void search(@RequestParam String origin, @RequestParam destination) { 

} 

問:我怎樣才能達到同樣的用@PostMapping

還是我總是要使用模型bean,如:

@PostMapping("/search") 
public void search(@RequestBody model) { 

} 
+0

當你在請求體中有XML或JSON內容時,最好創建一個模型。使用模型,您還可以輕鬆處理嵌套元素(模型中的模型)。 –

+0

'GET'和'POST'在數據傳遞方式上存在差異。使用'POST',它在請求的主體中,使用'@ ReqeustBody'是有道理的。如果使用'GET',那麼使用'@ RequestParam'來獲取查詢參數或'@ PathVariable'來獲取URL模板變量是有道理的。 –

回答

0

的兩種方式是不同的,如果有效載荷包含表示序列化的實體,你應該去的第二個方法,讓傑克遜處理對象反序列化爲你,如果不是你可以使用第一個,或者你可以爲它建立一個實體,兩者都可以工作