문제는 아래와 같은 코드에서 발생했다.
@RestController
public class ItemController {
@GetMapping("/items")
public List<Item> items(){
List<Item> itemList = new ArrayList<>();
itemList.add(new Item("ldsa", 25));
return itemList;
}
static class Item {
private String name;
private int age;
public Item(String name, int age) {
this.name = name;
this.age = age;
}
}
}
발생한 이유는 간단하다. 리턴 타입이 객체이므로 메시지 컨버터에서 Json으로 변환해줘야 하는데 private 필드들에 setter가 설정되어있지 않아서 json으로 변환할 수가 없어서 나는 에러이다.
한줄 결론 : setter를 만들어주면 해결
'백엔드 > 스프링' 카테고리의 다른 글
타임리프 정리2 (0) | 2021.09.13 |
---|---|
타임리프 사용법 정리 (0) | 2021.09.13 |
PRG (Post Redirect Get) (0) | 2021.08.19 |
스프링 MVC - 응답데이터와 메시지 컨버터 (0) | 2021.08.19 |
스프링 MVC - 요청 데이터 (0) | 2021.08.19 |