본문 바로가기

JAVA

[JAVA] LIST 형 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]

[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) {
  	...
  }