問題:
答案:
雖然@RequestBody 通常會對應到單一對象,但您可以使用以下方法之一來實現您的目標:選項1:使用Map
為了避免建立自訂支援對象,您可以將@RequestBody 映射到 Map@RequestMapping(value = "/Test", method = RequestMethod.POST) @ResponseBody public boolean getTest(@RequestBody Map<String, String> json) { //json.get("str1") == "test one" }這允許您存取各個變數JSON 作為地圖的屬性。
選項2:使用ObjectNode
如果您喜歡使用完整的JSON 樹,您可以將@RequestBody 綁定到Jackson 的ObjectNode:public boolean getTest(@RequestBody ObjectNode json) { //json.get("str1").asText() == "test one" }這使您可以直接存取JSON 結構及其各種節點。
比較:
兩者options 提供了不同的方法來處理@RequestBody 中的多個變數:以上是如何使用 Ajax 和 Spring MVC 在 @RequestBody 中傳遞多個變數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!