일단... 이게 뭔말이지 싶다
가면갈수록 알다가도 모르겠는 아이들이 너무나도 많아서
어디서 부터 공부해야하는지 감이 안온다
일단 해보긴 하지만.. 아직까진 자신이 없는 하루하루다 ㅠㅠ
# REST API
- REST API에 대해 이해할 수 있다.
- REST API 문서를 읽고, 디자인 할 수 있다.
- Open API와 API Key에 대해 이해할 수 있다.
# Postman
- Postman이 무엇인지 이해하고 사용할 수 있다.
- HTTP API 테스팅이 무엇인지 알 수 있다.
- Postman을 사용하여 서버에 GET, POST 요청을 보내고 응답을 받을 수 있다.
# 과제 / Message States 요청
1. REST API 란?
: REST (Representational State Transfer) → 웹(http)의 장점을 최대한 활용할 수 있는 아키텍쳐
: 웹에서 사용되는 데이터나 자원을 HTTP URI로 표현하고, HTTP 프로토콜을 통해 요청과 응답을 정의하는 방식
- 좋은 REST API를 디자인 하는 방법
: 현실적으로 아래 성숙도 모델에서 2단계 까지만 충족해도 좋은 REST API라고 부를수 있다. (HTTP API 라고 부름)
단계 | 핵심 | 사용 방법 및 설명 |
0단계 | HTTP 프로토콜 사용 | 좋은 REST API를 작성하기 위한 기본 단계 |
1단계 | 개별 리소스와 통신 | 리소스와 응답에 따라 다른 엔드포인트 (명사 형태의 단어 사용) |
2단계 | CRUD에 맞는 적절한 HTTP 메소드 사용 | GET → 서버의데이터를 변화시키지 않는 요청에 사용 POST → 요청마다 새로운 리소스 생성 PUT → 요청마다 같은 리소스를 반환 (멱등성을 가짐) PUT → 교체 PATCH → 수정 |
3단계 | 하이퍼미디어 컬트롤 적용 | 하이퍼링크 리소스와 기능에 쉽고 효율적으로 접근할 수 있도록 함 |
2. Open API와 API Key
- Open API
: 누구에게나 열려있는 API
→ 이용수칙에 따라 제한사항(가격, 정보의 제한)이 있을 수 있다.
- API Key
: API를 이용하기 위한 Key
→ 허용된 이용자에게만 자원에 접근할 수 있는 권한을 API Key의 형태로 제공하고, 데이터를 요청할 때 API Key를 같이 전달해야만 원하는 응답을 받을 수 있음
1. Postman 사용 방법
- HTTP API 테스트 도구
: 서버 API를 테스트 하거나, API를 만드는 과정에서 유용하게 사용됨
▪ HTTP API 테스트 도구 (CLI)
▪ HTTP API 테스트 도구 (GUI)
- Postman 사용하기
: 이미 만들어져 있는 API 서버가 주어지는 경우 (HTTP로 소통하기 위해서는 API 서버의 endpoint가 URL로 주어져야 함)
▪ GET 요청하기
URL | http://3.36.72.17:3000/ | [주소] API 서버의 endpoint | |
메시지 조회 | Get /kimcoding/messages | [요청] kimcoding이 작성한 모든 메시지를 조회 | |
추가적인 파라미터 사용가능 | |||
roomname | 방 이름(문자열) | 특정 roomname만 조회 | |
Response | { "id": 1, "username": "김코딩", "text": "안녕하세요", "roomname": "로비", "date": "2021-04-02 12:00:00" } // ...여러 개의 메시지 |
[데이터] Request에 따른 Response 응답은 JSON 형식으로 나타남 |
|
속성 | parameter | 형식 | 설명 |
id | 숫자 | 고유한 아이디 | |
username | 문자열 | 사용자 이름 | |
text | 본문 내용 | ||
roomname | 방 이름 | ||
date | 작성한 시간 |
▪ Postman 화면 보기
▪ POST 요청하기
: GET요청과는 다르게 본문(body)를 포함하는 경우가 많음
URL | http://3.36.72.17:3000/ | [주소] API 서버의 endpoint | ||
메시지 추가 | POST /kimcoding/messages | [요청] kimcoding이 새로운 message 작성 | ||
요청본문에 반드시 포함 | parameter | 형식 | 설명 | 필수 여부 |
username | 문자열 | 사용자 이름 | 필수 | |
text | 본문 내용 | |||
roomname | 방 이름 | |||
Response | { "id": 5 } |
[데이터] Request에 따른 Response 응답은 JSON 형식으로 나타남 이때 id는 숫자 형식이고, 새로 생성된 메시지의 고유한 ID 값 |
▪ 응답 살펴보기
: timeout → 서버가 요청에 대한 응답을 하지 않는 경우 요청이 끝나지 않음 (서버가 응답처리를 하도록 수정)
: 우측 상단의 HTTP 응답코드 확인
?
# Database & SQL
# SQL
# 과제/Lean SQL
↓ 이전 글 ↓
↓ 코트스테이츠 부트캠프 관련 글 한번에 보기 ↓
[코드스테이츠] 05_25_TIL : (0) | 2023.05.25 |
---|---|
[코드스테이츠] 05_24_TIL : 관계형 데이터베이스 _ SQL (0) | 2023.05.25 |
[코드스테이츠] 05_22_TIL : 네트워크 _ 웹 애플리케이션의 작동원리 (0) | 2023.05.23 |
[코드스테이츠] 05_19_TIL : 알고리즘/자료구조 _ Algorithm with Math (순열/조합) (0) | 2023.05.19 |
[코드스테이츠] 05_17_TIL : 알고리즘/자료구조 _ Greedy/Algorithm (1) | 2023.05.17 |