❯ REST API(Representational State Transfer API)
웹 애플리케이션에서 HTTP 메서드를 통해 서버와 통신하게 되는데, 서로 올바른 양식(내용)을 통해 메세지를 주고받아야 원활하게 동작이 가능해진다. (마치 식당에서 메뉴를 주문할 때 올바른 메뉴를 주문해야하는것과 유사하다.)
REST API는 사용되는 데이터나 자원(Resource)을 HTTP URI로 표현하고, HTTP 프로토콜을 통해 요청과 응답을 수행하는 방식이다.
모든 API가 REST API인것은 아니다.
리차드슨의 REST 성숙도 모델(RMM)에 따라 좋은 REST API가 구분된다.
- 0 단계 : HTTP 사용 / HTTP 프로토콜을 사용하는것을 의미한다. REST API를 위한 기본 구조.
- 1 단계 : 개별 리소스와의 통신 준수 / 개별 리소스에 맞는 엔드포인트(Endpoint : 요청 타겟 위치)를 사용해야한다.
엔드포인트는 의미를 명확히 하기 위해 명사를 사용하는 것이 권장된다. - 2 단계 : HTTP 메소드 원칙 준수 / CRUD(Create, Read, Update, Delete)에 맞는 적합한 메서드를 사용한다.
- 3단계 : HATEOAS 원칙 준수 / 응답에 리소스의 URI를 포함한다. 해당 링크를 사용해 새로운 기능에 접근할 수 있게 한다.
❯ Open API 와 API Key
- Open API : 누구나 사용할 수 있도록 제공된 API (이용 수칙에 따라 일부 제한 있을 수 있음)
- API Key : 특정 API를 사용할 때, 승인받은 사용자만 접근할 수 있도록 Key를 사용하는것.
데이터 요청 시 해당 Key를 같이 보내야만 원하는 응답을 받을 수 있음
❯ HTTP API 테스트 도구
HTTP API 테스트를 위한 다양한 도구들이 있음.
- CLI 방식 : curl, wuzz
- GUI 방식 : Postman(학습과정 중 사용 예정), Insomnia
참고자료
오늘부터는 매일 풀고있는 코딩 문제풀이나 기타 미니 프로젝트를 깃헙에 올려두기로 했다.
깃 사용법이 간단하다고 생각했었는데 막상 해보니 자유롭게 사용하기에는 연습이 조금 필요한것같다.
다양한 오류들을 만나고있는데, 이렇게 하나씩 경험해보고 해결해보면서 실력을 올려야겠다!
'부트캠프 개발일기 > Network' 카테고리의 다른 글
29일차: 네트워크(TCP/IP, PORT, URL, HTTP 등) (0) | 2023.03.24 |
---|