RESTful API 이게 무엇인가!!!
2024. 2. 27. 22:56ㆍjavascript/자기개발(일기장느낌)
RESTful API
RESTful API는 Representational State Transfer API의 약자로, 네트워크 어플리케이션을 디자인하기 위한 아키텍처 스타일이다. 이는 특정 원칙과 제약을 기반으로 하여 웹 서비스를 구축하는 표준화된 방법을 제공한다. 이 아키텍처의 주요 특징을 몇 가지 소개합니다:
RESTful API의 특징
특징들을 나눠서 보면 4가지로 정리할 수 있다.
- HTTP와 URL 기반으로 자원에 접근할 수 있도록 제공하는 애플리케이션 개발 인터페이스이다. 기본적으로 개발자는 HTTP메소드와 URL만으로 인터넷에 자료를 CRUD(생성,읽기,갱신,삭제)를 할 수 있다.
- REST API를 제공하는 웹서비스를 RESTful 하다고 할 수 있다.
- HATEOAS (Hypermedia As The Engine Of Application State): 클라이언트가 응용 프로그램 서버가 동적으로 제공하는 하이퍼미디어를 통해 응용 프로그램과 상호 작용하는 개념이다. 이는 리소스와 동작을 발견할 수 있게 해준다.
- 균일하고 일관된 인터페이스는 클라이언트와 서버 간의 상호 작용을 간소화하고 표준화한다. 이는 리소스 네이밍(URI)에 대한 표준 규약을 포함하고 표준 HTTP 메소드를 활용하는 것을 의미한다.
RESTful API의 규칙
1) 자원을 식별 할 수 있어야 한다.
- URL만으로 내가 어떤 자원을 제어하려하는지 알 수 있어야 한다.
- 자원을 제어하기 위해 자원의 위치나 종류까지 모든 것을 알아야 한다.
- Server가 제공하는 정보는 JSON이나 XML형태로 HTTP body에 포함되어 전송한다.
2) 행위는 명시적이어야 한다.
- 강제적이지 않으면서 기존의 웹 서비스처럼 GET을 이용해서 UPDATE와 DELETE를 해도 된다.
- 대신 REST아키텍쳐에는 부합하지 않으므로 REST를 따른다고 할 수는 없다.
3) 상태 없음 (Statelessness)
- 각 요청은 해당 요청을 처리하기 위한 모든 정보를 포함해야 한다.
- 서버는 클라이언트의 상태를 기억하고 있어서는 안 다.
4) 에러 처리
- 에러 상태를 명확하게 정의하고, 각각의 에러에 대한 적절한 HTTP 상태 코드를 반환해야 한다.
- 에러 응답은 유용한 정보를 제공하고, 클라이언트가 문제를 해결할 수 있도록 도움이 되어야 한다.
이러한 규칙과 원칙은 RESTful API를 효과적으로 디자인하고 유지보수하기 위한 지침을 제공한다.
RESTful API의 간단한 예시
HTTP 메소드를 사용한 RESTful API 요청
- GET: GET /api/users - 사용자 목록을 가져옵니다.
- POST: POST /api/users - 새로운 사용자를 생성합니다.
- PUT: PUT /api/users/123 - ID가 123인 사용자를 업데이트합니다.
- DELETE: DELETE /api/users/123 - ID가 123인 사용자를 삭제합니다.
※ RESTful API는 간결함, 확장 가능성, HTTP와의 호환성 등으로 웹 개발에서 널리 사용되며 다양한 응용 프로그램과 기기에 적합합니다.
참고사이트
'javascript > 자기개발(일기장느낌)' 카테고리의 다른 글
async/await 에 대해서... (2) | 2024.03.08 |
---|---|
Promise에 대해 ? (0) | 2024.03.05 |
호이스팅 (hoisting) ! (0) | 2024.02.28 |
자바스크립트 프레임워크란... (0) | 2024.02.26 |
자바스크립트(Javascript)란 무엇이고 어디에 활용되는가 (0) | 2023.11.30 |