Postman

수민·2022년 12월 5일
0

code

목록 보기
20/47

Achivement Goals

REST API에 대해 이해할 수 있다.
REST API 문서를 읽을 수 있다.
REST API에 맞춰 디자인할 수 있다.
Open API와 API Key에 대해 이해할 수 있다.
Postman이 무엇인지 이해하고 사용할 수 있다.
HTTP API 테스팅이 무엇인지 알 수 있다.
Postman을 사용하여 서버에 GET, POST 요청을 보내고 응답을 받을 수 있다.
(Optional) Postman을 사용하여 Open Weather Map Open API에 요청을 보낼 수 있다.
Chapter 1 - REST API
(1) API의 대표적인 아키텍처 - REST API
Representational State Transfer(로이 필딩), 웹(http)의 장점을 최대한 활용할 수 있는 아키텍처로 소개

REST API는 웹에서 사용되는 데이터나 자원(Resource)을 HTTP URI로 표현하고,

HTTP 프로토콜을 통해 요청과 응답을 정의하는 방식

HTTP 프로토콜 기반으로 요청과 응답에 따라 리소스를 주고받기 위해서는 알아보기 쉽고 잘 작성된 메뉴판이 필요한데, 이 역할을 API가 수행해야 하므로 서로 잘 알아볼 수 있도록 작성하는 것이 중요

REST 성숙도 모델

0단계

1단계 : 개별 리소스와의 통신 준수. REST API는 모든 데이터나 자원을 HTTP URI로 표현.

모든 자원은 개별 리소스에 맞는 적절한 엔드 포인트를 사용 - 요청(POST/doctors/허준, POST/slots/123)
요청하고 받은 자원에 대한 정보를 응답으로 전달
동사, HTTP메소드, 특정 행위에 대한 단어 사용은 지양
리소스에 집중해 명사 형태의 단어 작성
응답, 리소스에 대한 정보, 리소스 사용에 대한 성공/실패 여부

2단계 : 적합한 CRUD HTTP 메소드 사용에 중점

요청: GET메소드가 body 비어 있기 때문에 query parameter 사용하여 요청 대상 표시(참고 Urclass /Startline 요청 대상)
요청(GET/doctors/허준/slots?date=2022-08-10)
응답(응답 코드 명확히 작성 not 200 OK, 201 Created / Location: slots/123/appointment)
<리소드와 HTTP 메소드>

GET: 서버의 데이터를 변화시키지 않는 요청

POST: 요청마다 새로운 리소스 생성

PUT: 요청마다 같은 리소스 반환(멱등성)/전체수정(교체)

PATCH : 일부수정

3단계 : 하이퍼 미디어 컨트롤 원칙 준수

HATEOAS(Hypertext As The Engine Of Application State)

요청: 2단계와 동일

응답: 리소스의 URI를 포함한 링크 요소 삽입. 링크 요소에는 응답을 받은 다음 할 수 있는 다양한 액션위해 하이퍼미디어 컨트롤

(2) Open API와 API Key

API Key : API를 이용하기 위해서는 Key가 필요. 로그인된 이용자에게만 자원에 접근할 수 있는 권한을 Key 형태로 제공.

데이터 요청시 API Key를 같이 전달해야 응답을 받을 수 있음.

Chapter 3- Postman

(1) Postman 사용하는 방법
브라우저는 서버에 HTTP 요청이 가능하지만 GET 요청에 거의 사용.

브라우저 주소창에 URL 입력하면 해당 URL의 root-endpoint로 GET 요청 보냄.

GET이 아닌 다른 메소드를 사용하려면 개발자 도구의 콘솔 창에서 내장 함수 fetch 사용할 수 있음.

그러나 테스트를 위해 매번 코드를 작성하는 것은 번거로운 작업.

대신 HTTP요청을 테스트할 수 있는 다양한 도구 사용

HTTP API 테스트 도구

CLI : curl, WUZZ(git)

GUI : Postman, Insomnia

Chapter 4- Message States 요청
root-endpoint(혹은 root-URL) : API로 요청을 서버와 통신할 때, 서버가 요청을 수락하는 시작점

일반적으로 도메인 주소의 루트(/)를 가리킴.

path: path(또는 url-path)는 API를 통해 서버와 통신할 때, 서버와 통신할 수 있는 key 역할.

서버에 정의된 문자열에 따라 path가 달라짐. 예를 들어, 에서는 'user'가 path다.

profile
헬창목표

0개의 댓글