⭐️ Jackson이란 ?
Spring에서 Jackson은 Json 데이터를 직렬화 및 역직렬화 하는 데 사용되는 라이브러리이다.
🔥 직렬화란 Java객체를 Json 문자열로 변환하는 과정을 말한다.
🔥 역직렬화란 Json 문자열을 Java객체로 변환하는 과정을 말한다.
또한 Ajax 통신에서 데이터를 Json 형식으로 주고받을 때 유용하다.
⭐️ Jackson 사용법
Spring Boot에서는 기본적으로 Jackson 라이브러리가 포함되어있어서 별도의 추가 필요 x
[ 예시 코드 ]
@RestController
@RequestMapping("/api")
public class BoardController {
@GetMapping("/board/top5")
public List<Board> getTop5BoardList() {
List<Board> boardList = new ArrayList<>();
boardList.add(new Board(1, "게시글 1", "user01", 100, "2025-03-12"));
boardList.add(new Board(2, "게시글 2", "user02", 90, "2025-03-11"));
return boardList; // Jackson이 자동으로 JSON 변환
}
}
[ 응답 받은 Json ]
{
"id": 1,
"name": "홍길동",
"username": "hong123"
}
@RestController로 메소드들을 @ResponseBody가 자동으로 설정되게 한다.
-> 모든 요청에 대한 응답을 ViewName이 아닌 객체로 반환하는데,
반환된 객체는 Json으로 직렬화 되어 사용자에게 반환된다.
이때 뷰를 반환하는것과 차이는 반환타입이 String이고 ViewName을 응답하는것과,
반환타입을 객체 or 컬렉션으로 하면 Spring이 자동으로 Json으로 변환해서 응답해준다 ‼️
이를 통해 Gson (Spring Boot는 Jackson사용, Jackson이랑 동일 역할 라이브러리),
JackSon은 클라이언트에서 Ajax통신을하여 클라이언트 사이드 랜더링을 하는 과정에서
값을 전달받아 뷰에 띄워줘야하는데 Controller에서는 평소에
@Controller 어노테이션을 사용하여 View를 반환하였지만, 현재 필요한 것은
객체 or 리스트 등 이기때문에 String으로 넘기면 직접 직렬화 , 역직렬화를 해야하기
때문에 Jackson을 사용하여 Java 객체를 Json형식으로 넘겨주어서 클라이언트 쪽에서
값을 키.값을 통해 화면에 보여줄 수 있게 된다 ‼️
'Server > Spring Boot' 카테고리의 다른 글
구글 API 연동 (0) | 2025.04.10 |
---|