본문 바로가기

Sparta

[Sparta] 09.REST API

2021-09-27

To-Do

  • 7시 기상
  • 아침식사
  • 오전운동 ()

  • 월요일 아침은 항상 힘들다... 어제 반드시 운동을 가겠다고 그렇게 다짐했는데 젠장... 벌써 3주차의 첫날이다. 지난 2주를 잘 지냈는지 돌아보면 반반인것 같다. 일단 열심히는 했지만, '잘'했는가는 모르겠다. (추석도 있었고) 15주 밖에 안남았지만, 15주나 남았다. 열심히하자. 지치지 말고.

Today I Learned


1. API


우선 API가 뭔지 간단하게 알아보자. 지난 2주간 파이썬 서버(Flask)와 웹페이지(Ajax)사이에서 뺀질나게 API를 사용한 소감으로 API는 "푸드코드의 주문서" 라고 설명하는 것이 제일 알맞겠다.


요새는 어딜가나 키오스크가 있다. (사라지는 일자리에 애도를) 푸드코트의 키오스크가 딱 API와 비슷한 것 같다.



내가 원하는 매장에, 원하는 음식을, 매장이 제시한 (그렇지만 대개 통일된) 형식으로 주문을 넣으면 짠 하고 음식이 나온다. API도 이와 같다.


리모컨도 비슷하다, TV는, 사용자가 그걸 켜거나 끄고, 채널을 선택하고, 음량을 조절할 수 있게 해야한다. (안그러면 안팔릴것이다.) 마찬가지로 자판기에도 음료수를 뽑아 먹기 위한 버튼들이 있고, 컴퓨터에는 키보드와 마우스가 있다.

기계와 인간 간의 소통창구 역할을 하는 것, 이런 것들을 ‘인터페이스’라고 부른다.


사용자가 명령을 하는 것 뿐 아니라, 그 결과와 정보들을 받아오기 위한 TV의 스크린, 컴퓨터의 모니터 또한 이 인터페이스에 속한다고 볼 수 있다.


개발자가 IT세계에서 사용하기위한 인터페이스가 API이다. 내가 따릉이 어플을 만들고 싶은데, 서울시에서 제공하는 API가 없다면 매일 아침, 매시각, 매분, 고객의 요청이 있을때마다, 서울시에 전화해서 따릉이가 몇대가 있냐고 물어봐야 할 것이다. 하지만 정말 다행이도, 서울시 공공 데이터는 따릉이 정보를 실시간 API로 제공하고 있다. 이제 우리는 서울시에서 제시한 API유형에 맞춰서 요청을 넣기만 하면 누구든 따릉이 어플을 만들 수 있다.


  • 예시
{
    "rentBikeStatus":
    {
        "list_total_count":5, 
        "RESULT":{"CODE":"INFO-000", "MESSAGE":"정상 처리되었습니다."},
        "row":
        [{
            "rackTotCnt": "22",
            "stationName": "102. 망원역 1번출구 앞",
            "parkingBikeTotCnt": "0",
            "shared": "0",
            "stationLatitude": "37.55564880",
            "stationLongitude": "126.91062927",
            "stationId": "ST-4"
        }, {
            "rackTotCnt": "16",
            "stationName": "103. 망원역 2번출구 앞",
            "parkingBikeTotCnt": "1",
            "shared": "6",
            "stationLatitude": "37.55495071",
            "stationLongitude": "126.91083527",
            "stationId": "ST-5"
        }]
    }
}

2. REST API


이처럼 소프트웨어가 다른 소프트웨어로부터 지정된 형식으로 요청, 명령을 받을 수 있는 수단을 Application Programming Interface, API라고 한다.


그럼 REST API는 뭘까? REST API는 REST 형식의 API를 말한다. (...)


REST API는 REST(REpresentational State Transfer) 아키텍처 스타일의 디자인 원칙을 준수하는 API입니다. 이러한 이유 때문에 REST API를 종종 RESTful API라고도 합니다.


진짜다. REST API는 HTTP 요청을 통해 통신함을 할 때, 리소스 내에서 CRUD(작성, 읽기, 업데이트 및 삭제 등) 표준 데이터베이스 기능을 수행한다.


REST API는 GET 요청을 사용하여 레코드를 검색하고, POST 요청을 사용하여 레코드를 작성하며, PUT 요청을 사용하여 레코드를 업데이트하고, DELETE 요청을 사용하여 레코드를 삭제합니다. 모든 HTTP 메소드는 API 호출에서 사용될 수 있습니다. 잘 디자인된 REST API는 HTTP 기능이 내장된 웹 브라우저에서 실행되는 웹 사이트와 유사합니다.

대한민국 | IBM


즉, 어떤 사람이 보더라도 API의 의미를 유추할 수 있도록, 정해진 규약에 의해 잘 짜여진 API를 REST API라고 이해하면 되겠다.


오늘은 REST API에 대해 간단히 알아보았다. 하지만 이는 REST API를 진정 다 아는것이 아니라고 한다. 다음에 더 진하게 공부한 뒤 배운점을 포스팅 하도록 하겠다.

'Sparta' 카테고리의 다른 글

[Sparta] 10-2.팀플  (0) 2021.09.29
[Sparta] 10-1.DevOps  (0) 2021.09.28
[Sparta] 08. CDN정리 (주말도 스파르타!)  (0) 2021.09.25
[Sparta] 07. 로그인과 JWT.md  (0) 2021.09.24
[Sparta] 06. 연휴끝..!.md  (0) 2021.09.23