首頁  >  文章  >  Java  >  如何使用 Ajax 和 Spring MVC 在 @RequestBody 中傳遞多個變數?

如何使用 Ajax 和 Spring MVC 在 @RequestBody 中傳遞多個變數?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-11-10 01:40:02241瀏覽

How to Pass Multiple Variables in @RequestBody Using Ajax and Spring MVC?

使用Ajax 和Spring MVC 在@RequestBody 中傳遞多個變數

問題:

答案:

雖然@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 中的多個變數:

    使用Map 簡化了對各個值的訪問,但需要更手動的方法來提取它們。
  • 使用 ObjectNode 提供了更多靈活性,但可能需要額外的處理來存取特定值或迭代 JSON 樹。
最終,最佳選擇取決於您的應用程式的特定需求以及所需的靈活性程度。

以上是如何使用 Ajax 和 Spring MVC 在 @RequestBody 中傳遞多個變數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn