부트캠프 기록/Serction2

[네트워크]HTTP통신

bbangduck 2022. 10. 5. 17:17

 

목차

 

  1. REST API
    1. 정의
    2. 성숙도 모델
    3. 이점
  2. API test 실습

 

 

 

 

 

 

REST API ( REpresentational State Transfer ApI) 

 

  • REST API 정의

웹에서 사용되는 데이터나 자원(resource)을 HTTP URI로 표현하고, HTTP 프로토콜을 통해 요청과 응답을 정의하는 방식

 

 

  • REST 성숙도 모델 ( 0~3 단계)

 

 

- 0단계:  단순히 HTTP 프로토콜 사용, single URI and use a single HTTP method (typically POST).

예시

더보기
0단계 예시

 

 

 

 

- 1단계:

개별 리소스와의 통신 준수,

모든 자원은 개별 리소스에 맞는 엔드포인트를 사용, 요청하고 받은 자원에 대한 정보를 응답으로 전달해야 함

어떤 리소스를 변화시키는지 혹은 어떤 응답이 제공되는지에 따라 각기 다른 엔드포인트를 사용하기 때문에, 적절한 엔드포인트를 작성하는게 중요

엔드포인트 작성 시 동사, HTTP메서드, 혹은 어떤 행위에 대한 단어 사용은 지양하고, 리소스에 집중해 명사 형태의 단어로 작성하는 것이 바람직

but only a single HTTP verb – generally HTTP POST.

예시

더보기
1단계 예시

 

 

 

- 2단계: 

CURD에 맞게 적절한 HTTP 메서드를 사용했는가

 

메서드 종류

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

post: 요청마다 새로운 리소스 생성(멱등성x)

put: 요청마다 같은 리소스를 반환(멱등)

patch: 수정의 용도, put은 교체( 일부와 전체의 차이)

 

예시

더보기
2단계 예시

 

 

3단계:

HATEOAS(Hypertext As The Engine Of Application State) : 하이퍼 미디어 컨트롤

2단계와 동일하지만, 응답에는 리소스의 URI를 포함한 링크 요소를 삽입한다는게 다름

예시

더보기
3단계 예시

 

 

 

 

  • REST API 이점

SOAP와 달리 XML, YAML 및 JSON을 포함한 다양한 메세징 형식과 호환

비교적 더 가벼움 

 

 

 

 

API Test 실습

Postman 페이지

-https://web.postman.co/

-https://openweathermap.org/

 

위의 두 사이트를 이용해 테스트를 진행할 수 있음

주의할 점은  openweathermap의 API key를 사용하려면 회원가입 후 30분~2시간 정도 지나야 가능

 

 

 

 

 

참고