본문 바로가기
코드프레소 체험단/Spring Boot를 활용합 웹 개발

[Spring Boot 웹 개발 입문] Response 데이터와 JSON 포맷

by 의정부핵꿀밤 2022. 2. 3.
728x90

< Response 데이터와 JSON 포맷의 이해 >

 

Client와 Server

  • client가 server에게 요청을 하면 위와 같은 과정으로 진행된다
  • 이 때 server는 요청에 대한 처리를 한 후 결과를 다양한 형태로 응답하게 된다
    • 단순 문자열, 이미지, 영상, HTML 페이지, JSON 등...

 

 

 

Response 데이터 예시

다양한 도메인의 Response 데이터 예시

  • 글, 이미지, 비디오 등 다양한 형태의 데이터를 Response로 받는다

 

 

Sprinig Controller와 Response 데이터

  • @Controller Annotation은 HTML 파일과 같은 view를 응답한다 : index.html
  • @RestController Annotation은 메소드 반환 값 자체를 응답한다 : "index" (단순 문자열, JSON 등..)

 

 

 

RestController의 응답 - 객체

  • 객체를 반환하면 JSON 형식의 데이터가 응답된다
  • 즉, 반환하는 객체의 구조와 유사한 형태의 JSON 데이터로 응답하게 된다

 

 

 

JSON 응답 데이터

  • 웹 개발 시 가장 일반적으로 사용하는 응답 데이터 포맷이다
  • 프론트엔드에서는 JSON 형식의 데이터를 응답받아 화면을 구성한다
  • 각 REST API 별로 어떤 JSON 데이터를 응답할 것인지 사전에 정한다
  • 프론트엔드와 백엔드 모두 정해진 JSON 데이터에 맞게 구현하게 된다

 

 

 

JSON

  • JSON - JavaScript Object Notation
  • JSON은 데이터를 교환하는데 사용한다
  • 기존의 방법인 XML보다 가볍다
  • XML에 비해 상대적으로 사람이 읽고 이해하기가 쉽다
  • 현재는 XML보다 JSON을 주로 사용하는 추세이다

 

 

 

JSON 문법

  • JSON 객체(Object)가 가장 기본 단위로 "key":"value" 데이터를 포함한다
    • JSON 객체의 시작과 끝은 중괄호 { } 를 사용한다
    • key는 큰따옴표 (" ") 로 묶는다
    • value에는 다양한 형태의 데이터 타입이 가능하다
    • 다수의 "key":"value"는 쉼표(,) 로 구분한다
  • JSON의 value에는 다양한 형태의 데이터 타입이 가능하다
    • 문자열, 숫자, Boolean, null ...
    • JSON 객체(Object), JSON 배열(Array) ...
  • JSON 배열(Array)은 순서가 있는 데이터의 나열로, 대괄호 [ ] 로 표현한다

 

 

정리!

  • Client/Server 구조에서 Server는 Client의 요청에 따라 적절한 처리를 한 후에 결과를 응답한다
  • Server는 단순 문자열, HTML, 이미지, JSON 등 다양한 형태의 데이터를 응답할 수 있다
  • 최신 웹 개발 시 가장 많이 사용되는 응답 포맷은 JSON 데이터이다
  • Spring Boot에서는 객체를 반환하면 적절한 JSON 형식으로 변환하여 Client로 최종 응답한다
  • JSON은 Key-Value 형식이며, 객체와 배열 등의 표현도 가능하다

 

728x90

댓글