학습 목표
- JSON 형식 깊이 의 핵심 개념을 안다
- Jackson 자동 변환 의 동작을 안다
- DTO 가 JSON 으로 변환되는 순간을 본다.
1. 문제
JSON 이라는 글자 형식이 자바 객체와 어떻게 변환되는지 흐릿하다.
2. 새 도구
Jackson 자동 변환: Spring 이 내장한 Jackson 라이브러리가 자바 객체 ↔ JSON 문자열을 자동 변환.
3. 코드
// Java 객체 (com.smhrd.domain.Reply)
public class Reply {
private int num;
private String content;
private String writer;
}
// 자동 변환된 JSON
{
"num": 1,
"content": "좋은 글이네요",
"writer": "hong"
}
// 반대 방향: 클라이언트가 보낸 JSON → 자바 객체
fetch('/api/replies', {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({content: "댓글", boardnum: 3})
});
// 서버 (com.smhrd.controller)
@PostMapping("/api/replies")
public Reply add(@RequestBody Reply r) { // JSON → Reply 자동
return service.add(r); // Reply → JSON 자동
}
4. 정리
- JSON = JavaScript Object Notation
- 키-값 쌍의 글자 형식
- Jackson 이 자동 변환
- @RequestBody / @ResponseBody 가 키
5. Before / After
전 차시
JSON 이라는 글자 형식이 자바 객체와 어떻게 변환되는지 흐릿하다.
이번 차시
DTO 가 JSON 으로 변환되는 순간을 본다.
학습 확인 체크리스트
- JSON = JavaScript Object Notation
- 키-값 쌍의 글자 형식
- Jackson 이 자동 변환
- @RequestBody / @ResponseBody 가 키