<aside>
💡 비동기 처리시, List 컬렉션으로 데이터를 받을때에는 @RequestBody라는 어노테이션을 이용하여 바인딩한다.
동기 처리시에는 컨트롤러 메서드 내에서 List타입으로 값을 바인딩할 수 없지만, 객체 내 존재하는 List타입으로는 데이터를 바인딩할 수 있다.
동기와 비동기처리시의 차이점을 꼭 기억하자.
</aside>
- 1️⃣ URL 경로 상의 경로 변수값을 @PathVariable 어노테이션을 지정하여 문자열 매개변수로 처리한다.
- 2️⃣ URL 경로 상의 여러개의 경로 변수값을 @PathVariable 어노테이션을 지정하여 여러개의 문자열 매개변수로 처리한다.
- 3️⃣ 객체 타입의 JSON 요청 데이터 @RequestBody 어노테이션을 지정하여 자바빈즈 매개변수로 처리한다.
- 4️⃣ 객체 타입의 JSON 요청 데이터는 문자열 매개변수로 처리할 수 없다.
- 5️⃣ 요청 URL에 쿼리파라미터를 붙여서 전달하면 문자열 매개변수로 처리한다.
- 6️⃣ 객체 타입의 JSON 요청 데이터를 @PathVariable 어노테이션을 지정한 문자열 매개변수와 @RequestBody 어노테이션을 지정한 자바빈즈 매개변수로 처리한다.
- 7️⃣객체 배열 타입의 JSON 요청 데이터를 자바빈즈 요소를 가진 리스트 컬렉션 매개변수에 @RequestBody 어노테이션을 지정하여 처리한다.
- 8️⃣ 중첩된 객체 타입의 JSON 요청 데이터를 @RequestBody 어노테이션을 지정하여 중첩된 자바빈즈 매개변수로 처리한다. (Address)
- 9️⃣ 중첩된 객체 타입의 JSON 요청 데이터를 @RequestBody 어노테이션을 지정하여 중첩된 자바빈즈 매개변수로 처리한다. (CardList)