반응형
1. REST API 란(Representational State Transfer)?
- REST 아키텍처 스타일을 따르는 API를 의미한다.
- RESTful API라고도 부릅니다.
( 부가적으로 REST API와 RESTful API라고도 부르는데, 같은듯 다릅니다. REST API는 REST의 원칙을 따르는 API를 일컫는 말이고, RESTful API는 REST API의 형태를 따르는 API입니다 자세한 사항은 밑에서 설명드리겠습니다.) - 자원(Resource) 을 URI로 표현하고, HTTP Method(GET, POST, PUT, DELETE 등)을 사용하여 해당 자원에 대한 CURD(Create, Read, Update, Delete) 작업을 수행합니다.
- HTTP 프로토콜을 기반으로 동작하며 (GET, POST, PUT, DELETE 등)을 서버에 요청하여 HTTP 상태 코드를 이용하여 응답하고 요청과 응답의 형식은 일반적으로 JSON 또는 XML형식으로 주고 받습니다.
2. REST API의 특징
- Client-Server 구조
- Stateless(무상태)한 통신 방식
(부가적으로 설명드리면 무상태한 통신방식은 클라이언트와 서버 간에 상태를 유지하지 않고 요청과 응답을 주고받는 방식을 말하며, 이러한 방식을 사용하면 서버측에서 상태 정보를 저장하고 관리할 필요가 없으므로 확장성이 높아지고 유지보수가 간단하다는 장점이 있습니다 간단하게 말하면 Client가 요청하면 Server는 응답하고 통신을 유지 하지 않고 끊습니다.) - Casheable(캐시 가능)한 구조
(부가적으로 설명드리면 말그대로 cash를 이용하는 것입니다, 간단하게 설명드리면 Client가 자주 요청하는 데이터에 대해서 캐쉬를 가지고 있다가 바로 데이터를 전달 하는것입니다, Config 설정값등을 캐쉬값에 넣을 수 있다고 생각합니다. 또한 cash의 시간을 설정해서도 사용할 수 있습니다) - Layered System(계층 구조)으로 구성가능
(계층구조를 간단하게 설명하면, 구성 요소들간의 관계를 일정한 계층적 구조로 구성하여서 각 계층은 다른 계층과 서로 분리되어 다른 계층에게 영향을 미치지 않도록 설계한다는것을 말합니다. 클라이언트, 서버, 데이터베이스 계층이 있다고 예를들면 클라이언트계층은 사용자와 인터페이스를 담당하고 서버 계층은 비즈니스 로직을 처리하며 데이터베이스 계층은 데이터만을 저장하고 관리합니다.) - Uniform Interface(인터페이스 일관성) 제공
3. REST API 설계 원칙
- 자원(URI)의 표현
- HTTP Method의 활용
- Self-Descriptive Message(자기 표현 메시지) 활용
- HATEOAS(Hypermedia As The Engine Of Application State)의 적용
4. REST API 개발 과정
- 요구사항 분석
- API 설계 및 문서화
- 개발
- 테스트 및 검증
- 배포
5. JAVA로 REST API 개발하기
- 수동으로 개발하는 방법이 있고,
- 프레임워크를 사용하여 개발할 수 있습니다 ( 프레임 워크를 이용하여 개발하는 방법은 Spring, Django, Flask 등을 이용 할 수 있습니다)
728x90
반응형
'IT관련' 카테고리의 다른 글
[네트워크] DMZ(DeMilitarized Zone) 서버란? (0) | 2023.05.07 |
---|---|
정보처리기사 자격증 후기 (0) | 2023.04.07 |
이클립스 힙 메모리 분석툴 (MemoryAnalyzer.exe) (0) | 2022.12.19 |
LG CNS 프로그래머스 코딩 관련 (0) | 2022.11.21 |
앱코 무접점 스카이문 키보드 세척 후기 (1) | 2022.10.06 |
댓글