[TIL : 22] REST API, POST MAN

jabae·2021년 11월 12일
0

TIL

목록 보기
22/44

Achivement Goals

  • REST API에 대해 이해할 수 있다.

    (Representational State Transfer의 약자) API 대표 아키텍처로,
    웹에서 사용하는 데이터나 리소스를 HTTP URL로 표현하고, HTTP 프로토콜을 통해 요청과 응답을 정의하는 방식이다. REST API를 사용한다는 것은 REST 아키텍처의 규칙을 준수한다는 의미이다!

  • REST API 문서를 읽을 수 있다.
    • root-endpoint(root-url) : API로 요청을 서버와 통신할 때, 서버가 요청을 수락하는 시작점을 말한다. 예를 들어, Github API의 root-endpoint는 https://api.github.com 이고, 트위터 API의 root-endpoint는 https://api.twitter.com 이다. 이렇게 root-endpoint는 도메인 주소의 루트(/)를 가리킨다.
    • path(url-path) : API를 통해 서버와 통신할 때, 서버와 통신할 수 있는 key 역할을 한다. 서버에 정의된 문자열에 따라 path가 달라진다. 예를 들어, https://api.github.com/user 에서는 userpath이다.
  • REST API에 맞춰 디자인할 수 있다.
    • 레오나르드 리차드슨의 REST API: 0 ~ 3단계로 나누었다. 보통 2단계까지만 해도 좋은 API 디자인이라 할 수 있다.

      0 단계 - HTTP 사용
      1 단계 - 개별 리소스와 통신 준수 : 모든 리소스는 개별 리소스에 맞는 엔드포인트 사용 (리소스에 집중한 명사형) & 요청 받은 자원에 대한 정보 (리소스 사용 성공/실패 여부)를 응답으로 전달
      2 단계 - HTTP 메소드 원칙 준수 : HTTP 프로토콜의 Method GET, POST, PUT, DELETE 원칙 준수
      (예. GET 요청 + guery parameter, POST 응답 + 상태 코드(201 Created), PUT : 수정, 'PATCH' : 교체 등)
      3 단계 - HATEOAS 원칙 준수 : 응답에 리소스의 URL을 포함한 링크요소 삽입

    추가적으로 여기에서 확인 -> Basic REST API Design Guidelines

  • Open API와 API Key에 대해 이해할 수 있다.
    • Open API : 누구에게나 열려있는, 사용 가능한 API이다. 사용은 가능하지만, API마다 정해진 이용 규칙(만료일자, 요청횟수, 가격, 정보 제한 등)을 준수해야 한다.
      (예. 공공데이터포털에서 제공하는 공공데이터는 Open API 형태로 제공되고 있다. 아래 Postman에서 사용할 Open Weather Map이라는 웹 사이트에서 제공하는 날씨 API 도 Open API이다.)
    • API Key : 서버의 문을 여는 열쇠로, API를 이용하기 위해 필요하다. 로그인된 이용자에게만 리소스 접근 권한API Key 형태로 제공한다. 데이터를 요청할 때, 함께 전달해야 응답을 받을 수 있다. (ssh-key와 비슷한 느낌이다.)
  • Postman이 무엇인지 이해하고 사용할 수 있다.

    yes! 🙌
    Postman은 HTTP API 테스트 도구이다. 매번 URL을 입력하고 요청을 보내는 것이 번거롭기 때문에 이 페이지를 통해 쉽게 요청을 테스트할 수 있다.

  • Postman을 사용하여 Open Weather Map Open API에 요청을 보낼 수 있다.

    yes! 👏
    먼저 Open Weather Map에 가입한 후, API Keys를 받을 수 있다.
    예를 들어 서울의 최근 날씨 데이터를 받아와 보자.
    메뉴의 Current Weather Data에 있는 API Doc 을 누른다.

    다음 페이지의 By city ID -> API call에서 요청을 보낼 URI을 알 수 있다.

    api.openweathermap.org/data/2.5/weather?id={city id}&appid={API key}

    여기에 서울의 city id1835848 나의 API key에는 아까 받은 키를 입력한다.

    그러면 위와 같이 요청에 대한 데이터를 받을 수있다. 위 동작을 Postman에서도 할 수 있다. 아래에서 보이는 것과 같이 요청에 원하는 HTTP 메소드를 선택하고(GET), URL을 입력하면 아래에 Params에서 자동으로 키와 벨류를 정리해 준다. Send를 누르면,

    위에서 보이는 대로 노란 박스처럼 상태코드 Status: 200 OK를 알 수 있고, 데이터 정보를 JSON의 정리된 형태로 받을 수 있다.

    지금은 조회(GET)만 해 보았기 때문에 테스트 도구의 절실한함(?)은 모르겠지만, 나중에 프로젝트를 할 때 POST를 쓰거나 PATCH, DELETE를 테스트할 때에는 아주 유용할 것 같다.

그 외

  • API의 세계란... 정보를 이미 받아온 상태에서 알고리즘만 풀 줄 았았지 이렇게 본격적으로 받아오는 방법을 배우니 정말 나 프로젝트 시작했구나가 느껴졌다. (와 나 진짜네😆👩‍💻)
  • 여러 사람들과 협업하기 위해서는 진짜 이런 규칙 하나하나가 다 소중하고 꼭 지켜야할 것 같다. 안 그러면 코드도 지저분해지고, 데이터를 제대로 받아오지도 못하고, 정보의 양이 방대해지면 유지보수가 안 될 것 같다. 사소한 규칙이라도 전혀 사소하지 않은 것 같다. 🐣
  • 아니 근데 나 c과제는 언제하지...😱🤓
profile
it's me!:)

2개의 댓글

comment-user-thumbnail
2021년 11월 16일

c과제는 죽어서 하는 것.. 🥲

1개의 답글