[JAVA] LIST 형 POST 처리
// CLASS
// Student , String name, Integer age
@PostMapping("/test")
public void test(@Valid @RequestBody List<Student> data) {
....
}
위와 같이 Post 를 받아주면 아래의 에러를 만날 수 있다
JsonMappingException: Can not deserialize instance of java.util.ArrayList out of START_OBJECT token at [Source: java.io.PushbackInputStream@5db922ae; line: 1, column: 1]
Json 파싱을 할 때, 올바른 방법이 아니라는 이야기인데, 어떻게 Student 객체형 리스트를 처리해줘야 할까 ?
@Data
public static class StudentWapper {
List<Student> student;
}
@Data
public static class student {
public String name;
public Integer age;
}
위와 같이 Student Wapper 엔티티를 만들어주고, 아래와같이 Wapper 로 받아서 처리해주면 된다.
@PostMapping("/test")
public void test(@Valid @RequestBody StudentWapper data) {
...
}