질문:
어떻게 여러 변수를 전달할 수 있나요? Ajax를 사용하여 Spring MVC 컨트롤러에 대한 HTTP 요청 본문? 구체적으로 개별 매개변수와 함께 @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 구조와 다양한 구조에 직접 액세스할 수 있습니다.
비교:
두 옵션 모두 @RequestBody에서 여러 변수를 처리하는 서로 다른 접근 방식을 제공합니다.
궁극적으로 최선의 선택은 애플리케이션의 특정 요구 사항과 필요한 유연성 수준에 따라 달라집니다.
위 내용은 Ajax와 Spring MVC를 사용하여 @RequestBody에서 여러 변수를 전달하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!