API와 REST에 대해 알고 RESTful이 뭔지 알아보는 시간이에요.Open API를 활용해서 요청에 응답받는 실습을 해보며 더 자세히 알아볼게요.REpresentational State Transfer)먼저 REST가 무엇인지 알아볼게요.
REST는 REpresentational State Transfer의 줄임말로 표현 상태 전달 또는 자원의 상태에 대한 표현을 주고받는 방식으로 표현할 수 있어요.REST는 웹에서 리소스를 주고받기 위한 아키텍쳐 스타일을 의미해요.REST는 특정 기술이 아니라 설계 원칙을 모아둔 집합을 의미해요.HTTP 프로토콜을 기반으로 클라이언트와 서버 간 데이터를 교환하는 규칙을 정의한 것이에요.URI로 식별하고 HTTP 메서드를 통해 CRUD 작업을 수행해요.REST는 리소스, 주소, 행동으로 특징을 나타낼 수 있어요.Resource)URI, URL)/users, /posts/3/getUsersHTTP method)method는 CRUD 작업과 매핑해요.GET, POST, PUT, DELETE 등이러한 REST 구조를 가지는 RESTful에 대해서도 알아볼게요.
RESTful은 REST의 설계 원칙을 최대한 준수하여 만든 API 또는 서비스를 의미해요.REST 를 얼마나 잘 따르는 지에 따라 RESTful 말고도 REST-like 또는 실용적 RESTful API 등으로도 나타낼 수도 있어요.REST 원칙대로 주소와 동작을 깔끔하게 잘 설계한 API는 RESTful하다" 라고 할 수 있어요.RESTful한 API의 예시는 다음과 같아요.GET /users → 회원 목록 보기GET /users/1 → 1번 회원 정보 보기POST /users → 새 회원 추가PUT /users/1 → 1번 회원 정보 수정DELETE /users/1 → 1번 회원 삭제Create, Read, Update, Delete로 첫글자를 합쳐서 CRUD라고 불러요.RESTful API 구성에서 URI에는 정보의 분류 체계만 포함하는 것을 권장해요.REST의 핵심 설계 원칙인 일관된 인터페이스(Uniform Interface)를 준수하는 것으로 직관적 API 사용으로 재사용성이 높기 때문이에요.HTTP method를 이용하여 GET, POST, PUT, DELETE 등을 정의해요.RESTful API의 직관성, 확장성, 유지보수, 표준화가 되며, 클라이언트와 서버 간의 명확한 역할 분리를 할 수 있기 때문이에요.RESTful API는 설계 원칙을 준수한 리소스의 전달 방식이에요.Open API 같은 경우도 RESTful API 인 경우가 많아요.Open API에서 요청을 통해 얻은 응답의 경우 대표적으로 XML과 JSON 형태로 응답받는 경우가 많아요. 이에 대해서 간단히 알아볼게요.XML은 다음과 같은 구성요소를 가져요.<element></element><element/>Extensible Markup Language로 불려요.XML의 문제점을 해결하고자 만들어진 형식이 JSON이에요.JSON은 경량의 데이터 교환 형식을 가지고 있어요.{} : 여러가지 속성을 다양하게 정의할 수 있는 집합구조JSON 객체[] : 비슷한 상황이 반복되는 리스트 구조[객체1, 객체2, ... ]JSON 배열이러한 형식의 데이터를 주고 받기 위해서는 여러 사전 조건이 필요해요.
어떤 형식으로 데이터를 요청하고 받아올지를 결정하는 규약이 있어야 해요.
그래야 우리가 원하는 데이터만 요청하고 전달 받을 수 있기 때문이에요.
그러한 형식을 API라고 부르고 이에 대해서 알아볼게요.
API는 Application Programming Interface의 줄임말로 주고 받기 위한 형식, 규약 등을 의미해요.SOAP(Simple Object Access Protocol)이나 RESTful 형식을 사용하여 공공 컨텐츠를 제공해요.Open API)라고 해요.Open API를 통해 데이터를 받아보는 실습을 통해서 그 동작방식을 알아볼게요.


https://kobis.or.kr/kobisopenapi/webservice/rest/boxoffice/searchDailyBoxOfficeList.json?key=<API KEY>&targetDt=20250505

Open API 선정Open API 사용을 위한 신청과 인증키 발급REST와 RESTful API에 대해서 알아봤어요.Open API를 이용해서 데이터를 받아오는 실습까지 진행해봤어요.