API 기반 플랫폼 이해: 제품 관리자를 위한 가이드
게시 됨: 2022-03-10오늘날 디지털 제품을 구축한다는 것은 수많은 다양한 백오피스 시스템을 고객 접점 및 장치와 통합하는 것입니다. 단일 작업 솔루션으로 연결하기 위해 소프트웨어 팀을 고용하는 비용은 하늘을 찌를 수 있습니다.
이것이 바로 현대의 제품 관리자가 공급업체를 선택할 때 API를 노출하는 시스템을 선택하는 문제로 귀결될 수 있는 통합 기능을 가장 먼저 고려하는 이유입니다. API란 무엇이며 기술 팀과 협력하지 않고 API를 테스트하는 방법은 무엇입니까? 읽어.
데이터 수용: API가 필요한 이유
고객 데이터는 비즈니스 운영 방식을 변경합니다. 적절하게 수집하고 이동하면 기업이 고객 확보 및 유지율을 높이는 데 도움이 되어 결국에는 엄청난 수입을 올릴 수 있습니다.
그러나 데이터 크런칭은 지루한 작업입니다. 이것이 비즈니스가 컴퓨터 과학에 접근한 이유입니다. 1990년대에는 가장 시간이 많이 소요되는 데이터 작업을 자동화하는 데이터베이스가 마케팅 부서 전반에 걸쳐 큰 인기를 얻었습니다. 이로 인해 마케팅 전략이 구상되는 방식이 크게 바뀌었습니다. 이러한 변화를 데이터 기반 접근 방식 이라고 합니다.
그러나 데이터베이스에는 큰 단점이 있었습니다. 그것들을 가치 있는 것으로 만들기 위해 회사는 소프트웨어 엔지니어를 고용해야 했습니다. 그들은 엄청난 양의 데이터를 작업 통찰력으로 바꾸는 방법을 알고 있는 영웅이었습니다. 그들은 또한 데이터 무결성을 보호하여 시스템이 미래에 대비할 수 있도록 하는 경비원이었습니다.
그러나 소프트웨어 엔지니어는 비용이 많이 들고 통신 인터페이스에는 노력이 필요했습니다.
데이터 수집 채널의 수가 여러 부서와 외부 회사에 걸쳐 있을 때 데이터베이스와 해당 운영자는 병목 현상이 되었습니다. 기업은 데이터 저장소에 액세스하는 자동화된 방법을 찾아야 했습니다.
이것이 API 우선 시스템의 아이디어가 시작된 방법입니다.
Tech Lingo가 없으면 API가 실제로 무엇입니까?
오늘날 일반적으로 API( A 응용 프로그램 프로그래밍 가능 인터페이스) 로 단축되는 API 우선 시스템은 다른 시스템이 통합되고 안전한 방식으로 데이터에 액세스할 수 있도록 하는 응용 프로그램입니다.
컴퓨터 과학 등급이 없으면 Application Programmable Interface 는 실제로 종을 울리지 않습니다. 좀 더 확실한 설명을 들어보자.
지금까지 웹에서 찾은 최고의 비유 중 하나는 Taija가 작성한 것입니다.
“식당에 손님으로 가면 부엌에 들어갈 수 없습니다. 사용 가능한 항목을 알아야 합니다. 이를 위해 메뉴가 있습니다. 메뉴를 본 후 웨이터에게 주문을 하면 웨이터가 음식을 주방으로 전달한 다음 귀하가 요청한 것을 배달합니다. 웨이터는 주방에서 제공할 수 있는 것만 배달할 수 있습니다.
내가 본 최고의 API 비유: 레스토랑을 가져 가라. 메뉴는 API, 주문은 API 호출, 주방의 음식은 응답입니다.
— 아르티 發財! (@AarthiD) 2013년 12월 19일
API와 어떤 관련이 있습니까? 웨이터는 API입니다. 당신은 서비스를 요청하는 사람입니다. 즉, API 고객 또는 소비자입니다. 메뉴는 API에서 요청할 수 있는 내용을 설명하는 문서입니다. 주방은 예를 들어 서버입니다. 구매자가 레스토랑을 위해 재료로 구입한 것과 요리사가 제공하기로 결정한 것, 요리사가 준비하는 방법 등 특정 유형의 데이터만 보유하는 데이터베이스입니다.”
그래서 다시:
- 부엌
데이터베이스, 데이터 무결성을 보호할 수 있는 고객이 없습니다. - 웨이터
API, 데이터베이스의 기능을 방해하지 않고 데이터베이스에서 데이터를 제공하는 방법을 알고 있는 중개자. - 고객
데이터를 가져오려는 외부 시스템 - 메뉴
데이터 형식 참조는 외부 시스템이 작업을 수행하는 데 사용해야 합니다. - 주문하다
실제 단일 API 호출입니다.
현재의 기술 상태에서는 여전히 소프트웨어 개발자가 "주문"해야 합니다. 그러나 맥도날드와 같은 메뉴가 전 세계적으로 어느 정도 표준화되어 있기 때문에 훨씬 더 빠릅니다(더 저렴합니다).
그래서 이제 우리는 소프트웨어 개발자의 신발을 신고 예시적인 API를 호출하려고 합니다. 걱정하지 마십시오. 우리는 학교 컴퓨터 과학 수업 이상으로 가지 않을 것입니다.
날씨 앱이 데이터를 가져오는 방법: API 기본 사항
날씨 앱이 현재 온도를 어떻게 인지하는지 알아보겠습니다. 이런 식으로 우리는 인터넷을 통해 시스템과 통신하는 방법에 대한 기본 사항을 얻을 것입니다.
필요한 것:
- 날씨 데이터베이스
- 브라우저
- 약간의 의지력
그게 다야! 오늘날의 기술을 사용하면 대규모 개발자 도구 없이도 API를 쉽게 테스트할 수 있습니다.
물론 완전한 통합을 원할 때는 다릅니다. 밀어붙이기 위해 더 많은 고급 도구와 프로그래밍 언어를 알아야 하지만 테스트/개념 증명을 위해서는 이 설정으로 충분합니다.
따라서 도시의 현재 온도 인덱스를 가져오거나 코더의 말처럼 첫 번째 API 호출을 호출해 보겠습니다. 결국 서버에 일부 텍스트를 보내고 그 대가로 메시지를 받는 것으로 요약됩니다.
API 요청 분석
이 기사에서는 https://openweathermap.org API를 사용할 것입니다. 사이트를 방문하여 여러 위치의 기상 조건을 확인하십시오. 바라건대, 오늘 카토비체에서 나보다 기분이 좋아졌으면 합니다.
짐작할 수 있듯이 웹 사이트는 데이터를 가져오기 위해 API를 호출합니다. 개발자는 검색 을 누를 때마다 배후에서 애플리케이션이 API의 문을 두드리고 "<도시> 온도를 알려주세요"라고 말하는 방식으로 구현했습니다.
해커 모자를 쓰고 이 웹사이트가 브라우저에서 호출하는 API 호출을 살펴보겠습니다. 브라우저에서 개발자 도구를 사용하여 배후에서 무슨 일이 일어나고 있는지 확인할 수 있습니다.
- Chrome에서 메뉴 → 도구 더보기 → 개발자 도구로 이동합니다.
- 네트워크 탭으로 전환합니다.
- 위의 위젯에서 다른 도시의 온도를 확인해보세요.
- 하단의 목록에서 다음과 같이 호출된 링크를 확인할 수 있습니다.
링크를 복사하면 위치 이름과 몇 가지 다른 매개변수가 포함된 것을 볼 수 있습니다.https://openweathermap.org/data/2.5/find?callback=jQuery19103887954878001505_1542285819413&q=Katowice&type=like&sort=population&cnt=30&appid=b6907d289e10d714a6e88b30761fae22&_=1542285819418
- 브라우저의 주소 표시줄에 링크를 붙여넣으면 다음과 같은 API 응답이 표시됩니다.
jQuery19103887954878001505_1542285819413({"message":"accurate","cod":"200","count":1,"list":[{"id":3096472,"name":"Katowice","coord":{"lat":50.2599,"lon":19.0216},"main":{"temp":281.69,"pressure":1031,"humidity":61,"temp_min":281.15,"temp_max":282.15},"dt":1542285000,"wind":{"speed":3.6,"deg":50},"sys":{"country":"PL"},"rain":null,"snow":null,"clouds":{"all":90},"weather":[{"id":804,"main":"Clouds","description":"overcast clouds","icon":"04d"}]}]})
- 다소 혼란스럽긴 하지만 괄호 안의 내용을 빼서 데이터 포맷터로 실행하면 다음과 같은 구조를 볼 수 있습니다.
{ "message":"accurate", "cod":"200", "count":1, "list":[ { "id":3096472, "name":"Katowice", "coord":{ "lat":50.2599, "lon":19.0216 }, "main":{ "temp":281.69, "pressure":1031, "humidity":61, "temp_min":281.15, "temp_max":282.15 }, "dt":1542285000, "wind":{ "speed":3.6, "deg":50 }, "sys":{ "country":"PL" }, "rain":null, "snow":null, "clouds":{ "all":90 },
- API의 응답은 현재 기상 조건에 대한 정보가 포함된 데이터 구조입니다. 대부분의 매개변수를 쉽게 해독해야 합니다. 이 데이터 형식을 JSON 이라고 합니다. 이것은 대부분의 최신 API에서 사용하기 때문에 중요한 표기법입니다. 이 ID와 대괄호 더미는 한 가지 목적으로 사용됩니다. 응용 프로그램이 무작위로 배치된 텍스트보다 잘 구성된 메시지를 구문 분석하는 것이 더 쉽습니다.
여기에서 방금 수행한 작업에 대한 설명입니다.
Open Weather Map 웹사이트 뒤에 있는 웹 애플리케이션은 API에서 데이터를 가져와 웹사이트에 표시합니다.
도시 이름을 입력하고 검색 을 누를 때마다 웹 사이트는 도시 이름을 매개변수로 포함하는 특정 링크를 사용하여 서버에 연결합니다.
기술 전문 용어의 동일한 문장: 웹사이트 뒤에 있는 애플리케이션은 도시 이름을 인수 로 제공하는 API 엔드포인트 에 요청 을 보냅니다.
그런 다음 API는 JSON 형식의 텍스트 메시지로 응답합니다( API 응답 전송).
API 요청을 생성하려면 해당 주소를 조합해야 합니다. 예, 주소가 좋은 비유입니다. 택배를 보내려면 다음을 제공해야 합니다.
- 도시,
- 거리와 번호,
- 때때로 사무실에 가는 방법에 대한 추가 정보가 있습니다.
그리고 유추하여 API에 연결하려면 다음이 필요합니다.
-
https://openweathermap.org/
(링크) 도시 또는 루트 끝점 — 이 경우 연결하려는 서버의 인터넷 주소인 시작점입니다. -
data/2.5/find
(link) 거리 번호 또는 경로 — API에서 얻으려는 리소스를 결정합니다. - (그리고 우리는 API에 무엇을 알고 싶어 합니까?
이것이 API가 설계된 방식입니다. 루트 엔드포인트는 일반적으로 단일 공급업체에 대해 동일하게 유지되므로 사용 가능한 경로 및 쿼리 매개변수와 API 개발 팀이 그 뒤에 배치한 정보를 파악해야 합니다.
이제 해커 모자를 좀 더 타이트하게 넣어보자. 우리의 경우 날씨 데이터를 가져오는 데 모든 쿼리 매개변수가 필요한 것은 아닙니다 . 물음표( ?
) 뒤에 다른 매개변수를 제거하고 Weather API가 어떻게 응답하는지 확인하십시오.
예를 들어 요청 링크에서 callback
을 제거하여 시작할 수 있습니다.
https://openweathermap.org/data/2.5/find?callback=jQuery19103887954878001505_1542285819413&q=Katowice&type=like&sort=population&cnt=30&appid=b6907d289e10d714a6e88b30761fae22&_=1542285819418
결과:
https://openweathermap.org/data/2.5/find?q=Katowice&type=like&sort=population&cnt=30&appid=b6907d289e10d714a6e88b30761fae22&_=1542285819418
다른 것들과 함께 놀아보면 그들 중 일부도 선택 사항이라는 것을 알 수 있습니다. 실제로 q
와 appid
만 필수입니다.
https://openweathermap.org/data/2.5/find?q=Katowice&appid=b6907d289e10d714a6e88b30761fae22
필수 사항과 선택 사항을 어떻게 알 수 있습니까? 루트 끝점과 경로를 처음에 얻을 위치를 어떻게 알 수 있습니까?
API 문서: 시작하기 전에 반드시 읽어야 할 문서
요청을 올바른 방식으로 구성하는 방법을 배우려면 항상 먼저 API 문서를 확인 해야 합니다.
우리의 경우 https://openweathermap.org/current 문서에 사용 가능한 끝점이 나와 있습니다. 또한 모든 응답 데이터 필드에 대해 설명하므로 요청을 보내기도 전에 API가 응답할 정보를 찾을 수 있습니다.
좋은 API 문서는 간단한 요청을 생성하고 고급 항목으로 이동하는 방법에 대한 빠른 시작 자습서를 제공합니다. 다행스럽게도 Open Weather API에는 하나가 있으며 지금 사용할 예정입니다.
처음부터 API 호출 생성
조사 결과를 요약해 보겠습니다. 이미 API에 요청을 보냈습니다. OpenWeatherMap이 배후에서 수행하는 작업을 스니핑하여 올바른 링크를 알아냈습니다. 이 접근 방식을 리버스 엔지니어링이라고 하며 종종 어렵거나 전혀 불가능합니다.
또한 대부분의 경우 API 공급자는 사용자가 이 옵션을 과도하게 사용하는 것을 금지합니다. 이것이 우리가 규칙(의미 — 문서)에 따라 API를 "호출"하는 방법을 배워야 하는 이유입니다.
이를 수행하는 한 가지 방법은 코딩하는 것입니다. 그러나 우리는 코더가 아니기 때문에( 아직! ) 이것을 더 쉽게 만드는 도구를 사용할 것입니다. 소프트웨어 개발자도 도구 벨트 아래에 있을 수 있을 정도로 훨씬 쉽습니다.
약속대로 우리는 브라우저를 떠나지 않을 것입니다. 그러나 확장 기능(Chrome만 해당)을 설치해야 합니다. — Postman. 이 간단한 플러그인은 브라우저를 API 커넥터로 바꿉니다.
자, 이제 도구가 생겼으니 문서를 살펴보고 특정 도시 이름 https://openweathermap.org/current#name
에 대한 현재 기상 조건을 얻는 방법을 알아보겠습니다.
문서에 따르면 api.openweathermap.org/data/2.5/weather?q={city name}
엔드포인트를 사용해야 합니다.
분해하면 다음 요소를 얻습니다.
- 루트 엔드포인트:
api.openweathermap.org
- 경로:
data/2.5/weather
- 쿼리 매개변수:
q={city name}
(이 개념은 중괄호를 특정 도시 이름으로 대체해야 함을 의미합니다)
Postman에 넣어 봅시다. 이 프로세스는 세 가지 간단한 단계로 요약됩니다.
- 상단 메뉴의 '요청'을 클릭합니다.
- 요청의 이름을 지정하고 하단 섹션에도 카탈로그 이름을 입력하십시오.
- 호출하려는 API 엔드포인트를 붙여넣고 보내기를 클릭하면 응답 섹션에 API 응답이 표시되어야 합니다.
축하 해요! 방금 전나무를 성공적으로 호출했습니다... 잠시만요! API 응답에 주목합시다.
이전에 본 날씨 정보로 채워진 JSON이 아닙니다. 401 및 유효하지 않은 API 키는 무엇을 의미합니까? 문서가 잘못되었습니까?
입증
당신의 허락 없이는 아무도 당신의 칵테일 캐비닛에 접근하지 못하게 하지 않겠습니까? 마찬가지로 API 제공업체는 제품 사용자를 제어하여 악의적인 활동으로부터 제품을 보호하기를 원합니다. 악의적인 활동이란 무엇입니까? 예를 들어, 동시에 많은 API 요청을 전송하면 서버가 "과열"되어 다른 사용자에게 다운타임이 발생합니다.
액세스를 어떻게 제어할 수 있습니까? 당신이 당신의 음료를 지키는 것과 같은 방식으로! 키 사용 — API 키 .
Weather API 문서에서 How to start 가이드를 방문하면 키를 얻는 방법을 알 수 있습니다. 지금 가입하고 받은 편지함을 확인하세요.
이제 문제는 키를 사용하는 방법입니다. 문서에 따르면 끝점 URL 끝에 중괄호 없이 키를 복사하여 붙여넣기만 하면 됩니다.
api.openweathermap.org/data/2.5/weather?q=Katowice&appid={your API key}
그리고 다시 보내기를 클릭합니다. 이제 API 응답을 볼 수 있습니다!
그러나 Postman을 사용하여 API에서 더 많은 것을 얻을 수 있습니다. 진정한 API 해커가 될 준비가 되셨습니까?
API 매개변수: 맞춤형 응답 얻기
일반적으로 API 엔드포인트에는 더 나은 데이터 형식이 필요하거나 특정 순서로 데이터를 가져오려는 경우와 같이 API 응답을 조정하는 데 사용할 수 있는 몇 가지 유틸리티 기능이 있습니다. 이러한 옵션은 문서에서 찾을 수 있는 일부 매개변수 뒤에 숨겨져 있는 경우가 많습니다.
쿼리 매개변수는 다음 패턴으로 끝점 주소에 추가하는 구조화된 텍스트일 뿐입니다.
- 경로 뒤의 물음표(
?
), - 매개변수의 이름,
- 같음(
=
) 기호, - 매개변수의 값,
- 앰퍼샌드(
&
) 및 기타 요소는 2-4점으로 이어집니다(이 방법으로 원하는 만큼 매개변수를 추가할 수 있음).
첫 번째 요청을 예로 들어 보겠습니다.
https://openweathermap.org/data/2.5/find?q=Katowice&appid=b6907d289e10d714a6e88b30761fae22
중요 참고 사항: 쿼리 매개변수의 순서는 중요하지 않습니다.
?q=Katowice&appid=b6907d289e10d714a6e88b30761fae22
위 내용은 다음과 같습니다.
?appid=b6907d289e10d714a6e88b30761fae22&q=Katowice
언급했듯이 쿼리 매개변수는 API 문서에 설명되어 있습니다. weather API 문서에서 발췌한 다음은 다른 단위(영국식 또는 미터법)로 온도를 얻는 방법을 보여줍니다.
Postman과 함께 이 두 옵션을 보내 결과의 차이를 확인하십시오. 엔드포인트 주소 끝에 API 키를 추가하는 것을 잊지 마십시오.
참고 : 항상 시간을 할애하여 문서를 연구하고 귀하 또는 귀하의 개발 팀이 상당한 시간을 절약할 수 있는 매개변수를 찾으십시오.
API 요청 옵션: API에 데이터를 보내는 방법
지금까지 API에서 정보를 얻었습니다. API 뒤의 데이터베이스에 정보를 추가하거나 수정하려면 어떻게 해야 합니까? 요청 방법이 답입니다.
Postman을 다시 한 번 살펴보겠습니다. API 엔드포인트 주소 옆에 대문자 GET 레이블이 있는 것을 보셨을 것입니다. 이것은 네 가지 요청 방법 중 하나를 나타냅니다. GET
은 API에서 무언가를 얻고 싶다는 의미이며(감사합니다) 기본 옵션입니다. 다른 옵션은 무엇입니까?
메소드 이름 | API로 수행하는 작업 |
---|---|
GET | API는 귀하가 요청한 데이터를 찾아 귀하에게 다시 보냅니다. |
POST | API는 데이터베이스에 새 항목을 생성하고 생성 성공 여부를 알려줍니다. |
PUT | API는 데이터베이스의 항목을 업데이트하고 업데이트 성공 여부를 알려줍니다. |
DELETE | API는 데이터베이스의 항목을 삭제하고 삭제 성공 여부를 알려줍니다. |
여전히 혼란스럽습니까? 예제로 넘어갑시다.
API POST: API에서 레코드를 만드는 방법
우리는 Weather API로 아무것도 만들거나 업데이트할 수 없습니다(읽기 전용이기 때문에). 따라서 테스트 목적으로 다른 API를 찾아야 합니다.
좀 더 비즈니스 지향적인 예를 생각해 보겠습니다. 다음 시나리오를 시뮬레이션할 것입니다.
비가 오면 고객을 위해 "힘내라" 할인 쿠폰을 만드십시오.
우리는 모든 전자 상거래 시스템에 대한 프로모션을 만들고 추적하기 위한 API를 제공하는 Voucherify를 사용할 것입니다.
면책 조항 : 저는 Voucherify의 공동 설립자입니다. 디지털 프로모션 설계 및 구현, 물론 API에 대한 귀하의 질문에 기꺼이 답변해 드리겠습니다 .
우리는 이전 예제에서 그것들을 얻는 방법을 이미 알고 있으므로 바우처 생성에 집중합시다.
- 우리가 말했듯이, 우리는 항상 문서로 시작해야 합니다.
- 빠른 시작 가이드에서는 API 키를 가져오라고 알려줍니다.
참고 : 계정을 만드는 대신 빠른 시작 가이드의 테스트 키를 사용할 수 있습니다. 방법은 잠시 후 알려드리겠습니다. - 이제 할인쿠폰 만드는 방법을 알아보겠습니다. Voucherify에서 이러한 종류의 판촉은 "바우처"로 표시됩니다.
- 문서에서 바우처를 생성하려면
/vouchers
엔드포인트에 대한 POST 메서드를 호출해야 한다는 것을 배우게 됩니다. - Postman에서 새 요청을 만듭니다.
- 방법을 POST로 변경합니다.
- Voucherify 엔드포인트
https://api.voucherify.io/v1/vouchers/
를 붙여넣고 보내기를 클릭합니다. - 이런, 우리는 이 끝점을 호출할 권한이 없습니다. 짐작하셨겠지만 API 키를 제공해야 합니다.
Voucherify에는 약간 다른 방식이 있습니다. 쿼리 매개변수로 두는 대신 헤더에 넣어야 합니다. 이것은 키를 쿼리 매개변수로 추가하는 것보다 이러한 방식으로 키를 구현하고 유지 관리하는 것이 더 쉽기 때문에 일반적인 접근 방식입니다.
그림과 같이 키를 추가하고 보내기를 클릭합니다. Voucherify에는 두 개의 키가 필요합니다. 이 튜토리얼의 목적에 사용할 수 있는 것들은 다음과 같습니다.
X-App-Id: 8a824b12-0530-4ef4-9479-d9e9b9930176
X-App-Token: 9e322bac-8297-49f7-94c8-07946724bcbc
- 이번에는 페이로드를 비워둘 수 없다는 또 다른 오류 메시지가 표시됩니다.
페이로드가 도대체 뭔가요? GET의 경우와 같이 일부 정보를 검색하고 싶은 경우 POST를 사용하여 무언가를 보내야 하며 보내는 메시지를 페이로드라고 하며 일반적으로 JSON 파일입니다.
이제 Voucherify API는 우리가 제공하지 않았다고 불평합니다. 즉, 어떤 종류의 바우처를 생성해야 하는지 알려주지 않았기 때문에 바우처를 생성할 수 없습니다. 그럼 지금은? 문서로 돌아가기! - 이 요청이 성공하려면 어떤 정보가 필요한지 알아보겠습니다. 목록에서 많은 옵션을 볼 수 있습니다.
하나의 매개변수(유형)는 필수이고 다른 하나는 선택사항입니다. 오늘 만료되는 선착순 100명의 고객에게 제공되는 20% 할인이 있다고 가정해 보겠습니다. 이제 이 할인 기능을 담당하는 매개변수를 찾아 Voucherify API에 대해 불안정한 형식으로 조합해야 합니다. 위의 예에서 볼 수 있듯이 사용해야 하는 JSON 표기법은 다음과 같습니다.{ "type":"DISCOUNT_VOUCHER", "discount":{ "percent_off":20.0, "type":"PERCENT" }, "expiration_date":"2018-12-03T23:59:59Z", "redemption":{ "quantity":100 }
- Postman에서 페이로드를 설정하려면 JSON 메시지를 Body 탭에 붙여넣습니다. 사용 가능한 페이로드 형식 목록에서 "원시" 유형과 JSON을 선택하고 보내기로 확인합니다.
- 짜잔! Voucherify는 20% 할인 쿠폰을 성공적으로 생성했습니다(테스트 계정으로 작업할 때 생성된 모든 코드는 "voucherify.io-" 접두사로 시작합니다). 마케팅 팀은 이제 고객과 코드를 공유할 수 있으며 Voucherify는 고객이 코드를 사용하기 위해 상점에 올 때마다 자동으로 코드를 확인합니다.
그러나 성공적인 요청인지 어떻게 알 수 있습니까? 우선 Voucherify가 문서에 따르면 올바른 API 응답처럼 보이는 메시지를 보냈음을 알 수 있습니다. 둘째, Postman은 상태 200 OK 를 표시합니다. 이는 요청이 성공했음을 의미합니다. 왜 200이고 상태는 무엇입니까?
API 상태 코드 및 오류 메시지
상호 작용할 대부분의 API는 HTTP 기반입니다. HTTP는 인터넷의 다양한 클라이언트 응용 프로그램과 서버 간의 통신을 표준화하는 프로토콜입니다.
HTTP의 핵심 요소 중 하나는 상태 코드입니다. 상태 코드를 이해함으로써 귀하(또는 실제로 귀하가 구현하는 시스템)는 귀하의 요청에 무슨 일이 일어났는지 즉시 알 수 있습니다. 잘못된 링크를 입력했을 때 가장 많이 사용되는 상태 코드 중 하나인 404에 직면했을 가능성이 있습니다.
그러나 더 많은 것이 있으며 최종 사용자는 일반적으로 그것을 보지 못합니다. 100+에서 500+까지 다양합니다. 일반적으로 숫자는 다음 규칙을 따릅니다.
- 200+는 요청이 성공했음을 의미합니다.
- 300+는 요청이 다른 URL로 리디렉션됨을 의미합니다.
- 400+는 클라이언트 응용 프로그램에서 발생한 오류가 발생했음을 의미합니다.
- 500+는 서버에서 발생한 오류가 발생했음을 의미합니다.
단계를 다시 한 번 진행하면 API 키를 제공하지 않았을 때 Voucherify에서 401 Unauthorized로 응답한 것을 볼 수 있습니다. 또는 Create Voucher 요청에 필요한 페이로드가 없을 때 400 Bad Request가 발생합니다. 마지막으로 성공적인 API 호출의 토큰으로 200을 받았습니다.
HTTP 상태 코드의 의미가 궁금하다면 HTTP Cats(또는 이 기사)보다 더 좋은 곳은 없습니다.
요약
증가하는 데이터 양과 제품 구축 속도에 대한 요구로 인해 API는 디지털 팀의 공용어가 되었습니다. API 우선 시스템을 기반으로 시스템을 설계하려면 공급업체의 제품을 이해해야 합니다. 이 실습 테스트 가이드는 이를 위한 좋은 출발점입니다. API 기능을 교수팀에 전달하기 전에 탐색하는 데 도움이 되므로 교사의 에너지를 절약하고 여러분의 에너지도 절약할 수 있습니다.
추가 읽기
- Scott Brinker, "비개발자를 위한 전자 상거래 API 소개"
- "헤드리스 CMS를 넘어서 — 헤드리스 상거래를 만나보세요", Michal Sedzielewski, Voucherify
- "API 우선 플랫폼을 사용하여 웹사이트를 더 빠르게 구축하는 방법", Michal Sedzielewski, Medium
- "API 우선 플랫폼을 사용하여 프로토타입 생산 준비를 하는 방법", Michal Sedzielewski, Medium
- "클라우드를 사용하여 애플리케이션을 더 빠르게 구축하는 방법", Michal Sedzielewski, Hacker Noon