Spring MVC: 복잡한 객체를 GET @RequestParam으로 바인딩
문제:
다음을 고려하세요. 테이블의 개체를 나열하는 페이지가 있는 시나리오입니다. 다음과 유사한 URL로 전송된 Ajax GET 요청을 사용하여 테이블을 필터링하는 양식을 추가해야 합니다.
http://foo.com/system/controller/action?page=1&prop1=x&prop2=y&prop3=z
컨트롤러 메소드에서 수많은 @RequestParam 매개변수를 사용하는 대신 전체 객체를 직접 필터링합니다.
예:
다음과 같이 정의된 MyObject 클래스가 있다고 가정합니다.
public class MyObject { private String prop1; private String prop2; private String prop3; // Getters and setters // ... }
이상적인 컨트롤러 방법은 다음과 같습니다. :
@RequestMapping(value = "/action") public @ResponseBody List<MyObject> myAction( @RequestParam(value = "page", required = false) int page, MyObject myObject)
해결책:
Spring은 복잡한 객체를 @RequestParam 매개변수로 바인딩하는 기능을 제공합니다. 이를 달성하려면 메서드 인수에서 @RequestParam 주석을 제거하기만 하면 됩니다.
@RequestMapping(value = "/action") public @ResponseBody List<MyObject> myAction( @RequestParam(value = "page", required = false) int page, MyObject myObject)
Spring은 자동으로 요청 매개변수를 MyObject 인스턴스에 바인딩합니다.
위 내용은 Spring MVC에서 복잡한 객체를 GET @RequestParam으로 어떻게 바인딩할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!