프로그래밍에서 사용할 수 있는 개방되어있는 상태의 인터페이스
HTTP URI + HTTP Method
HTTP URI를 통해 제어할 자원을 명시하고 HTTP Method를 통해 해당 자원을 제어하는 명령을 내리는 방식의 아키텍처
POST, GET, PUT, DELETE가 있으며 각각 Create(Insert), Read(Select), Update or Create, Delete의 기능을 맡고 있다.
HTTP와 URI 기반으로 자원에 접근할 수 있도록 제공하는 애플리케이션 개발 인터페이스
기존의 게시판은 GET,POST만 사용해 CRUD를 처리하며 URI는 해당하는 액션을 나타냈다.
RESTful API는 4가지 메서드를 모두 사용하며 URI는 제어하려는 자원을 나타냄
경량 Data 교환형식
Javascript에서 객체를 만들 때 사용하는 표현식을 의미한다.
최근 JSON이 XML을 대체해서 데이터 전송을 하곤한다.
언어에 종속되지 않음
object, hashtable,struct
array, list
JSON 형태를 Java 객체로 Java 객체를 JSON 형태로 변환해주는 라이브러리
eXtensible Markup Language
Data를 저장하고 전달하기 위한 언어로 사용자가 Tag를 정의할 수 있다.
Spring MVC 에서 클라이언트에서 전송한 XML이나 JSON 데이터를 Controller에서 Java 객체로 변환해서 받을 수 있는 기능(수신) 제공
Java 객체를 XML, JSON 변환 후 전송하는 기능(송신) 역시 제공
@RequestBody
HTTP Request Body를 Java객체로 전달받음
@ResponseBody
Java 객체를 HTTP Response Body로 전송