애플리케이션 API 이유. 웹 애플리케이션의 API란 무엇이며 왜 필요한가요?

조만간 모든 프로그래머는 다음과 같은 개념에 직면하게됩니다. API. 그러나 그러한 회의가 열리면 그것이 무엇인지, 왜 필요한지, 어떻게 사용하는지 모든 사람이 아는 것은 아닙니다. 그리고 이 기사에서 나는 여러분 중 일부의 지식 격차를 메우고 나의 실천 사례를 제시할 것입니다.

API (응용 프로그래밍 인터페이스) - 이것 응용 프로그래밍 인터페이스. 간단히 말해서 이는 다른 프로그램에서 사용할 수 있는 다양한 함수, 상수, 클래스 및 쿼리 형식의 집합입니다.

그것은 간주 될 수 있습니다 API-이것은 우리가 구현을 모르는 특정 개체이지만 사용할 수 있습니다. 예를 들어, 컴퓨터는 구현을 아는 사람이 거의 없는 개체이지만 거의 모든 사람이 컴퓨터를 사용하여 비디오 보기, 인터넷 서핑, 텍스트 인쇄 등의 작업을 수행할 수 있습니다. 이 모든 것이 어떻게 작동하는지 아는 사람은 거의 없지만 거의 모든 사람이 할 수 있습니다.

API~이다 윈도우 API, OpenGL API, 다이렉트3D API등등.

예를 들면 얼마전에 나도 직접적으로 접한 적이 있다. API. 메일링 리스트 서비스에 등록했습니다." SmartResponder.ru" 그리고 사람들이 구독하기 시작한 뉴스레터를 시작했습니다. 작업은 다음과 같습니다. 구독 후 24시간 이내에 내 유료 비디오 강좌를 할인된 가격으로 구매할 수 있습니다. 구독자에 대한 모든 정보가 서버에 저장되기 때문에 " SmartResponder.ru"를 선택한 다음 일반 액세스(예: DB) 이 데이터에 접근할 수는 없었지만 이를 구현하는 데 필요했습니다. 고맙게도 " SmartResponder.ru"너만의 것을 가져라 API, 내가 사용한 것입니다.

나는 그들에게서 발견했다 API결과적으로 구독 날짜를 가져오는 요청 형식입니다. 더 나아가 곱슬 곱슬하다해당 요청을 보냈고 특정 구독에 필요한 구독 날짜를 받았습니다. 이메일 주소. 다음은 표준 처리 및 결과 출력이다.

장점:

유형

  • 돌아오는 중. 타사 애플리케이션이 지정된 매개변수를 사용하여 메서드를 요청하면 서버는 요청된 정보를 특정 형식으로 제공합니다.
  • 바꾸다. 클라이언트는 새로운 정보를 입력하거나 특정 설정을 변경하는 일부 서버 기능을 호출합니다.

Yandex.Direct API

API는 웹사이트 홍보에 효과적입니다.

  1. 이를 기반으로 개발자는 검색 엔진 서비스와 직접 상호 작용하는 애플리케이션을 만들 수 있습니다. 이러한 프로그램을 통해 광고주는 대규모 광고를 유연하게 관리하고, 각 광고에 대한 통계 보고서를 받아 예산을 정확하게 예측할 수 있습니다.
  2. Direct API를 이용하면 광고 대행사는 전체 고객 목록을 볼 수 있고, 고객은 자신의 대표자를 볼 수 있습니다.
  3. 검색 엔진 최적화에 사용된 특정 문구가 문맥 광고에서 낮은 CTR을 제공하는 경우 해당 문구 표시가 자동으로 비활성화될 수 있습니다. 주제별 플랫폼에서는 API를 통해 요율을 설정할 수 있으며 특정 기부자를 삭제할 수 있습니다.
  4. Yandex.Direct API에는 SOAP 인터페이스가 있습니다. 즉, 애플리케이션 생성을 위한 다양한 프로그래밍 언어를 제공합니다. 이 프로토콜은 Perl, Java, Python 등의 언어에서 지원됩니다. 데이터 교환은 JSON 형식으로도 수행할 수 있습니다.

Wikipedia의 정의에 따르면 API는 외부 소프트웨어 제품에 사용하기 위해 애플리케이션(라이브러리, 서비스)에서 제공하는 미리 만들어진 클래스, 프로시저, 함수, 구조 및 상수의 집합입니다. 프로그래머가 모든 종류의 응용 프로그램을 작성하는 데 사용됩니다.

그러나 Wikipedia의 대부분은 많은 사람들이 이해할 수 없기 때문에 API가 무엇인지, API가 일반적으로 무엇을 위해 만들어지고 어떻게 사용되는지 일반인의 용어로 설명하려고 노력할 것입니다.

API는 완전히 다르지만, 예를 들어 매장 네트워크가 있고 공통 데이터베이스가 하나만 있는 상황을 선택했습니다. 당신이 제휴 프로그램을 소유하고 있다고 상상해보십시오. 제휴 프로그램은 다음 원칙에 따라 작동합니다. 개인이 제휴 프로그램에 등록하고 스토어 엔진을 받습니다. 그런 다음 그는 자신의 호스팅에 이 스토어를 설치하고 작업을 시작할 수 있습니다. 하지만 이 스토어의 모든 데이터는 우리 데이터베이스에서 가져온 것입니다. 즉, 각 파트너에게 우리의 소중한 데이터베이스에 대한 액세스 권한을 부여해야 합니다. 이것이 얼마나 위험한지 상상할 수 있습니까? 결국, 모든 파트너 매장이 이를 사용할 수 있도록 외부에서 데이터베이스에 대한 액세스를 열어야 합니다. 귀하의 액세스 데이터가 범죄자의 손에 들어가면 어떻게 되나요?

이것이 API가 우리를 도울 곳입니다. 데이터베이스에 대한 액세스 권한을 부여하는 대신 파트너 매장이 정보를 수신할 수 있는 API를 간단히 만들겠습니다. 이렇게 하면 API 스크립트만 데이터베이스와 작동하고 상점은 이 스크립트와 작동합니다.

어떻게 작동하나요?
예를 들어 상점에서 API에 요청을 보냅니다.
http://ourapi.com/get_books?limit=20
우리 API는 한계 매개변수를 20으로 전달했기 때문에 20권으로 구성된 도서 목록을 제공해야 한다는 것을 이해합니다. 스크립트(API)는 데이터베이스에 요청하고 도서 목록을 수신하여 데이터베이스에 반환합니다. 특정 형식으로 저장합니다(실제로는 표시만 합니다). API가 정보를 반환하는 형식은 무엇이든 될 수 있으며, 가장 중요한 것은 매장이 이를 이해한다는 것입니다. 이는 JSON, 직렬화된 배열 또는 XML일 수 있습니다. 이것은 더 이상 중요하지 않습니다. 가장 중요한 것은 원리를 이해하는 것입니다.

API가 스스로 이해하는 명령 세트를 정의합니다. 예를 들어, 우리의 경우 책 목록 가져오기, 카테고리 목록 가져오기, 인기 책 가져오기, 새 책 가져오기 등과 같은 명령이 될 수 있습니다. 이렇게 하면 공격자가 우리 API에 액세스할 수 있는 기회를 얻더라도 그가 할 수 있는 일은 도서 목록을 얻는 것뿐이며 이는 우리 데이터베이스에 어떤 위협도 가하지 않습니다.

간단한 예를 통해 API가 무엇인지 설명할 수 있었으면 좋겠습니다. 궁금한 점이 있으면 댓글이나 포럼에 질문해 주세요. 기꺼이 해결하도록 도와드리겠습니다.

거의 모든 운영 체제(UNIX, Windows, Mac OS 등)에는 프로그래머가 해당 운영 체제용 애플리케이션을 만들 수 있는 API가 있습니다. 운영 체제의 주요 API는 시스템 호출 집합입니다.

정의 3: 시스템 호출- 응용 프로그램이 운영 체제 커널에 액세스하여 작업을 수행합니다.

최신 운영 체제는 실행 중인 컴퓨팅 프로세스(멀티태스킹) 사이의 시간 분할과 권한 분리를 제공하여 실행 프로그램이 다른 프로그램 및 하드웨어의 데이터에 액세스하는 것을 방지합니다. OS 커널은 권한 있는 프로세서 모드에서 실행됩니다. 프로세스 간 작업이나 하드웨어에 대한 액세스가 필요한 작업을 수행하기 위해 프로그램은 호출 프로세스의 권한에 따라 이러한 호출의 실행을 실행하거나 거부하는 커널을 호출합니다.

프로그래머의 관점에서 볼 때 시스템 호출은 일반적으로 시스템 라이브러리의 서브루틴이나 함수에 대한 호출처럼 보입니다. 그러나 그러한 함수나 서브루틴에 대한 호출의 특별한 경우인 시스템 호출은 시스템 라이브러리에 대한 보다 일반적인 호출과 구별되어야 합니다. 왜냐하면 후자는 권한 있는 작업의 실행을 요구하지 않을 수 있기 때문입니다.

소프트웨어 산업에서 표준 기능을 위한 공통 표준 API는 공통 API를 사용하는 모든 프로그램이 동등하게 또는 적어도 일반적으로 익숙한 방식으로 작동하도록 보장하기 때문에 중요합니다. GUI API의 경우 이는 프로그램이 유사한 사용자 인터페이스를 갖게 되어 새로운 소프트웨어 제품을 더 쉽게 배울 수 있음을 의미합니다.

반면에 서로 다른 운영 체제의 API 차이로 인해 플랫폼 간에 애플리케이션을 포팅하는 것이 매우 어렵습니다. 이러한 복잡성을 해결하는 다양한 방법이 있습니다. "중간" API(WxWidgets, Qt, GTK 등의 GUI API) 작성, 한 OS의 시스템 호출을 다른 OS의 시스템 호출로 매핑하는 라이브러리 작성(Wine, cygwin 등), 프로그래밍 언어(예: C 표준 라이브러리)에 코딩 표준 도입, 다양한 플랫폼에서 구현되는 해석 언어 작성(sh, python, perl, php, tcl, Java 등) .

또한 프로그래머는 동일한 결과를 얻기 위해 여러 가지 다른 API를 사용할 수 있는 경우가 많습니다. 또한 각 API는 일반적으로 낮은 추상화 수준의 API 소프트웨어 구성 요소를 사용하여 구현됩니다.


예를 들어, 브라우저에서 "Hello, world!"라는 줄을 보려면 최소한의 제목과 이 줄을 포함하는 간단한 본문이 있는 HTML 문서를 생성하면 됩니다. 브라우저가 이 문서를 열면 브라우저 프로그램은 HTML 문서를 처리하는 라이브러리에 파일 이름(또는 이미 열려 있는 파일 설명자)을 전달합니다. 그러면 운영 체제 API를 사용하여 이 파일을 읽고 그 구조를 이해합니다. 그런 다음 "창 지우기", "선택한 글꼴로 "Hello, world!" 쓰기"와 같은 작업을 위해 표준 그래픽 기본 요소의 API 라이브러리를 순차적으로 호출합니다. 이러한 작업을 수행하는 동안 그래픽 기본 요소 라이브러리는 적절한 요청으로 창 인터페이스 라이브러리에 연결하고 이 라이브러리는 운영 체제 API에 연결하여 비디오 카드 버퍼에 데이터를 씁니다.

게다가 거의 각 수준에는 실제로 몇 가지 가능한 대체 API가 있습니다. 예를 들어 HTML이 아닌 LaTeX로 소스 문서를 작성할 수 있으며 표시를 위해 모든 브라우저를 사용할 수 있습니다. 다른 브라우저는 일반적으로 다른 HTML 라이브러리를 사용하며, 더 나아가 (일반적으로 말하면) 다른 기본 라이브러리와 다른 운영 체제를 사용하여 전체 내용을 컴파일할 수 있습니다.

따라서 기존 다중 레벨 API 시스템의 주요 과제는 다음과 같습니다.

· 한 API 시스템에서 다른 API 시스템으로 프로그램 코드를 이식하는 데 어려움이 있습니다(예: OS 변경 시).

·낮은 수준에서 높은 수준으로 이동할 때 기능이 손실됩니다. 대략적으로 말하면, 각 API "계층"은 일부 표준 작업 세트의 실행을 용이하게 하기 위해 생성됩니다. 하지만 동시에 낮은 수준의 API에서 제공하는 다른 작업을 수행하는 것이 정말 어려워지거나 근본적으로 불가능해집니다.

메모. 포팅- 프로그래밍에서 이식이란 프로그램이나 그 일부를 원래 작성된 환경과 다른 환경에서 작동하면서 사용자 속성을 최대한 보존하도록 프로그램 또는 그 일부를 적용하는 것을 의미합니다.

웹 개발 산업 근처에서 원격으로 일한다면 API라는 악명 높은 세 글자를 듣게 될 것이라고 100% 확신할 수 있습니다.

이에 대한 대화는 멍청한 놈과 전문가 사이에 흩어져 있습니다.

“왜 API 호출을 해야 합니까? 그 사람 전화번호 있어요?

"이 타사 API를 간단히 호출하면 이를 달성하는 데 도움이 됩니다."

“우리는 당신을 위해 RESTful API를 만들 것입니다. 새 시스템이 다른 서비스와 잘 작동하는지 확인하세요.”

API는 처음에는 무섭게 보일 수 있지만 문자 그대로 개발자로서의 삶을 변화시킬 수 있습니다.

무엇을 위해? API를 올바르게 사용하는 방법을 배우면 개발 작업 흐름이 더 쉽고 빠르며 강력해질 수 있습니다. API를 생성하거나 통합하면 고객과 본인 모두에게 상당한 이점을 얻을 수 있습니다.

개발자로서 여러분은 "바퀴를 재발명하지 마세요"라는 조언을 자주 듣습니다.

농담:
현명한 조언: 바퀴를 재발명하지 마세요
프로그래머: 알았어
다시는 사용자 정의 코드를 작성하지 않습니다

농담은 제쳐두고, API는 바퀴를 재발명하지 않도록 하는 데 중요한 역할을 합니다. Snipcart에서는 API 기본 사항을 이해하는 것이 현대 웹 개발자의 핵심 기술이라고 굳게 믿습니다. 이 게시물에서 우리는 당신이 그렇게 하는 데 도움을 줄 것입니다. 우리는 다음을 고려할 것입니다:

API 사용의 이점 실제로 API가 무엇인지 어떤 유형의 API가 있는지 API 사용의 실제 예

글쎄, 이제 그것에 뛰어들 시간이 아닌가?

API의 이점: API를 사용하는 이유는 무엇입니까?

내 프로그래밍 경력에서 가장 중요한 첫 번째 단계 중 하나는 API를 올바르게 이해하는 것이었습니다.

나는 아직도 매일 그것을 사용합니다.

핵심에 들어가기 전에 먼저 API를 이해하는 것이 시간을 들일 가치가 있다는 점을 확신시켜 드리겠습니다.

API 사용법을 배우면 개발 효율성이 크게 향상되기 때문입니다.

첫째, 기존 논리또는 부속, 직접 작성할 필요는 없습니다. 혼자서는 작성할 수 없는 것들이 있습니다! 따라서 귀중한 시간을 절약하려면 개발자로서 API가 어떤 모습인지 파악하는 것이 매우 중요합니다.

둘째, 여러분이 직면하게 될 많은 개발 문제는 여러분보다 먼저 다른 사람이 이미 해결한 것입니다. 이러한 기존 솔루션의 형태(FaaS, 라이브러리, 웹 서비스, SDK, 콘텐츠 API 등)가 무엇이든 상호 작용하려면 API가 필요할 가능성이 높습니다.

그렇다면 API란 무엇입니까?

음, 공식적인 무서운 정의는 다음과 같습니다.

컴퓨터 프로그래밍에서 API(응용 프로그래밍 인터페이스)는 응용 소프트웨어를 만들기 위한 일상적인 정의, 프로토콜 및 도구 집합입니다. 일반적으로 이는 서로 다른 소프트웨어 구성 요소 간의 잘 정의된 통신 방법 집합입니다. 좋은 API는 프로그래머가 조립하는 모든 빌딩 블록을 제공함으로써 컴퓨터 프로그램 개발을 더 쉽게 만듭니다.

어렵죠? 학문적 산문을 한 단계 낮추어 보겠습니다. 다음은 홈 API에 대한 보다 친숙한 정의입니다.

간단히 말해서, API는 논리와 상호 작용할 인터페이스를 선언합니다.내부에서 무슨 일이 일어나고 있는지 알 필요도 없이. 이 정의는 현재 있는 모든 언어, 프로토콜 또는 환경에 적용될 수 있습니다. 프로그램 수준(아래에서 이에 대해 자세히 설명합니다).

API에 대해 좀 더 알아보기 위해 API가 아닌 것을 나열해 보겠습니다.

    API가 반드시 외부 서비스일 필요는 없습니다. 예를 들어 솔루션에 라이브러리를 직접 포함하거나 API를 통해 사용할 수 있습니다.

    API는 단순한 인터페이스 그 이상입니다. 이는 사양/형식이자 구현입니다.

    API는 GUI(그래픽 사용자 인터페이스)가 아닙니다. 그래픽 수준에서는 상호 작용을 수행하지 않습니다. 프로그래밍 언어나 통신 프로토콜을 통해 소프트웨어 수준에서만 작동합니다.

API는 웹훅도 아닙니다. 둘 사이의 차이점을 이해하는 데 어려움이 있는 경우 여기에 Web Hooks에 대한 소개가 있습니다.

다양한 API 유형

모든 API가 동일하게 생성되지는 않습니다.

그들은 대부분 동일한 목표를 가지고 있지만 일부는 다른 사람들보다 더 잘 달성합니다. 이것은 원활한 소개이므로 다른 API보다 API를 더 좋게 만드는 요소에 대해서는 다루지 않겠습니다. 그러나 사람들은 API를 만드는 데 서로 다른 접근 방식을 가지고 있다는 점을 명심하십시오. 이 주제에 관심이 있다면 Google의 "API 디자인 패턴" 및 "API 패러다임"을 참조하세요. 아니면 이 깔끔한 초급 수준 기사 https://translate.googleusercontent.com/translate_c?length=1&rurl=translate.google.ru&sl=auto&sp=nmt4&tl=ru&u=https://blog.cloudobjects.io/api-design부터 시작해 보세요. / 2017/04/10/api-design-paradigms/&xid=17259,15700019,15700186,15700190,15700248,15700253&usg=ALkJrhg_fNGb7u4_EowoGcThqlUZsxYzow . :)

API의 목적은 개발자로서의 삶을 더 쉽게 만드는 것입니다. 그들은 그걸 어떻게 햇어? 기능 모음을 통합하고 엔드포인트(일반적으로 API와 상호 작용하는 데 사용되는 URL 패턴)를 통해 해당 기능을 노출합니다. 이러한 엔드포인트는 모든 API와 상호 작용할 수 있는 유일한 방법입니다. 각 엔드포인트에는 요청 및 응답에 대한 특정 형식이 있습니다. 일반적으로 API 문서에서 이 형식을 찾을 수 있습니다.

엔드포인트는 단순한 함수일 수도 있고 다른 API 등을 호출하는 많은 함수로 구성될 수도 있습니다. 여기서 유일하게 중요한 점은 이러한 기능의 핵심 로직이 완전히 추상화되어 있다는 것입니다. 그것을 사용하기 위해 내부에서 무슨 일이 일어나고 있는지에 대한 지식이 필요하지 않습니다. 올바른 형식을 사용하는 한 이를 사용할 수 있습니다. 이는 응용 프로그램에서 해당 형식의 일부를 사용하는 멋진 방법입니다.

결론적으로 API는 모든 인터페이스와 같습니다. 전류가 어떻게 작동하는지 알고 있는지 여부에 관계없이 전등 스위치가 불을 켭니다. (또는 저는 젊었을 때 전기를 사용하려면 요금을 지불해야 하지만 그건 또 다른 이야기야.)

API 사용 방법: 실제 사례

API 문서 읽기 및 이해

문서에서 각 객체 함수는 입력 형식(숫자, 숫자 배열 등)이 무엇인지 설명하고 출력 형식을 설명하는 것을 볼 수 있습니다. 그러나 이러한 기능을 실행하는 논리에 대해서는 언급된 내용이 없습니다. 예를 들어, 개발자 콘솔과 Math.sqrt를 (함수를 실행하지 않고) 실행하면 f sqrt() ( ) 와 같은 결과를 얻게 됩니다. 이것이 API의 정신입니다. 운영 체제의 API 중 하나를 호출하든 웹 API를 호출하든 이러한 원칙은 동일하게 유지됩니다.

기본 API 사용 예

인기 있는 API 제공업체와 관련이 있는 일이 많습니다. 예를 들어, Google Maps API는 실시간 디스플레이 및 교통 신호를 기반으로 한 데이터로 사용자 경험을 개선하는 데 자주 사용됩니다. 또 다른 큰 API인 Twitter API를 사용하면 타겟 트윗을 실시간으로 필터링하고 표시할 수 있습니다.

이제 우리 블로그를 팔로우하고 계시다면 다른 무엇보다 웹 API에 더 관심이 있으실 것 같습니다. 그럼 구체적인 사용 사례를 살펴보겠습니다. 예제에서는 Postman을 사용한다는 점에 유의하세요. 물론 이 Rest Client는 웹 환경과 연관되어 있지만, 이러한 도구는 일반적으로 다른 환경에도 존재합니다. 특정 환경을 가지고 놀기 전에 해당 환경에 제공되는 도구를 살펴보는 것이 좋습니다. 많은 시간을 절약할 수 있습니다.

우리를 팔로우하려면 Postman 클라이언트를 다운로드해야 합니다. https://www.getpostman.com/

공개 API를 사용하여 데이터 검색

첫 번째 예는 매우 간단하지만 수학적인 것보다 훨씬 더 흥미로울 것입니다.

Dog API를 사용하겠습니다! 재미있는 API일 뿐만 아니라 인증도 필요하지 않습니다. 또한 HTTP REST API이므로 웹 API입니다. 이 환경과 연관되어 있으므로 프로토콜의 일부 특정 기능(이 경우 HTTP 동사(GET, PUT, POST, DELETE 등))을 준수해야 합니다. 이 예에서는 간단하게 유지하고 GET 동사만 사용합니다. 어쨌든 API는 다른 어떤 것도 지원하는 것을 허용하지 않습니다. 대부분의 공개 API는 GET 동사와 같이 데이터를 게시하는 것이 아닌 데이터 소비만 허용합니다.

Postman을 실행하고 사용자 인터페이스가 어떻게 보이는지 살펴보겠습니다.

내 UI는 어두운 테마를 사용하므로 귀하의 UI와 약간 다르게 보일 수 있습니다.

처음에는 소화해야 할 정보가 많을 수 있으므로 동사와 URL부터 시작하겠습니다.

기본 동사는 GET이어야 하므로 그대로 두고 다음 URL을 입력할 수 있습니다: https://dog.ceo/api/breeds/list/all

"보내기"를 클릭하면 끝입니다! 관련 데이터가 포함된 응답을 받아야 합니다. 짜잔! 방금 첫 번째 API 호출을 수행했습니다. 이제 이 예에서는 수신된 데이터를 사용하지 않습니다. 하지만 아이디어가 있습니다. 사용자에게 다양한 개 품종을 보여주고 사용자가 클릭하면 해당 품종의 사진을 표시할 수 있습니다.

환경에 익숙해지기 위해 문서에 있는 다양한 경로를 가지고 놀 수 있습니다.

멋진 사실: 이 작은 프로젝트도 오픈 소스이므로 https://github.com/ElliottLandsborough/dog-ceo-api에서 확인할 수 있습니다.

비공개 API를 사용하여 인증 처리

여기서는 Snipcart API https://docs.snipcart.com/api-reference/introduction과 상호 작용하는 데에만 코드를 사용합니다. Postman을 닫을 수 있지만 편리하게 보관하세요. API로 실행할 때 이런 도구를 사용하는 것이 좋습니다.

목표는 고객에게 일회성 사용 할인을 제공하는 간단한 CLI 도구를 만드는 것입니다. 이러한 할인은 API를 통해 생성되며 모두 귀하의 컴퓨터에서 전적으로 발생합니다.

이 프로젝트에 대한 새 폴더를 만들고 폴더에서 npm init를 사용하고 텍스트 편집기를 로드합니다. 이제 index.js 파일을 만든 다음 package.json 파일을 엽니다. 여기에서 최상위 개체에 다음 줄을 추가합니다.

“bin”: ( “할인”: “./index.js”)

클라이언트의 입력을 구문 분석하려면 Commander 패키지도 필요합니다. 따라서 현재 폴더에서 npm install -save Commander를 실행하십시오. 또한 식별자를 생성하기 위해 작은 라이브러리를 사용할 것입니다. npm install -save shortid 를 사용하여 설치할 수 있습니다. 그 동안 npm install -save request lib도 실행하여 HTTP 호출을 더 쉽게 만들어 보겠습니다. index.js 파일로 돌아가서 다음 코드를 붙여넣으세요.

#!/usr/bin/env 노드 var program = require('commander'); var shortid = require('shortid'); var 요청 = require('요청'); function CreateDiscount())( var 할인 = ( 이름: '20% OFF', 트리거: '코드', 유형: '비율', 비율: 20, maxNumberOfUsages: 1, 코드: shortid.generate() ) request(( url : “http://app.snipcart.com/api/discounts" , 인증: ( 'user': 'YOUR_API_KEY' ), 메소드: “POST”, json: true, body: 할인 ), 함수(오류, 응답, body )( console.log(body.code); )); 프로그램 .arguments(' ') .action(function(number) ( for(var i = parseFloat(number); i > 0; i-)( CreateDiscount( ); ) )).parse(process.argv);

여기서는 요청 기능에 중점을 두겠습니다. 여기서는 Snipcart에 대한 외부 API 호출을 만들고 있습니다. 메소드에 “POST” 메소드를 전달하는 것을 볼 수 있습니다. 이는 Snipcart API에 데이터를 게시하려고 하기 때문입니다. 이 메소드를 지정하면 API는 할인 데이터가 포함된 요청 본문을 읽을 수 있도록 작업을 올바르게 렌더링합니다.

아직 사용하지 않은 흥미로운 API 기능은 인증입니다. 다른 모든 예제는 공개 API에 있었으며 인증이 필요하지 않습니다. 그러나 실제 시나리오에서는 사용하는 대부분의 API에 Twitter API 또는 Google Maps API와 같은 일종의 인증이 필요할 수 있습니다. 이는 API 세계의 표준 "패턴"입니다. 다른 사람이 자신의 매장에서 할인을 제공하도록 하면 우리 고객은 그다지 만족하지 않을 것입니다. ;)

인증 개념은 상당히 번거로울 수 있습니다. 이 멋진 게시물을 읽을 수 있습니다 https://translate.googleusercontent.com/translate_c?length=1&rurl=translate.google.ru&sl=auto&sp=nmt4&tl=ru&u=http://blog.restcase.com/restful-api-authentication- 기본 /&xid=17259,15700019,15700186,15700190,15700248,15700253&usg=ALkJrhjwWO5yc6nayLpXCQkh_X95B0OZMw 주제를 더 잘 익히려면

우리의 목적을 위해 API 키 https://translate.googleusercontent.com/translate_c?length=1&rurl=translate.google.ru&sl=auto&sp=nmt4&tl=ru&u=https://en.wikipedia.org/wiki/Application_programming_interface_key&xid를 전달합니다. =17259, 15700019,15700186,15700190,15700248,15700253&usg=ALkJrhhpSWyk-nV9379VcrY3TMcKiAdXlQ 요청에 직접 입력하면 만세 서버가 우리를 인식합니다! 그런 다음 우리 계정에만 특정한 요청을 할 수 있습니다.

우리의 작은 애플리케이션을 테스트하려면 프로젝트 디렉터리에서 npm install -g를 실행하고 할인 x를 실행하여 x 횟수만큼 할인을 생성할 수 있습니다. Snipcart 대시보드(테스트 모드에서는 영구 무료 계정)로 이동하여 할인이 올바르게 생성되었는지 확인할 수 있습니다. 이것이 얼마나 강력한지 상상할 수 있습니다. 200개의 할인을 생성해야 한다면 사용자 인터페이스를 통해 수행하는 데 너무 많은 시간이 걸릴 것입니다. 그러나 API 작동 방식에 익숙해지면 몇 분 안에 완료할 수 있습니다. 코드는 재사용이 가능하므로 한 달 안에 같은 작업을 수행해야 한다면 준비가 된 것입니다!

이야기하고 싶은 API의 구체적인 사용 사례가 있다면 댓글에 적어주세요. 콘텐츠 로드맵에 추가하는 방안을 검토하겠습니다! :)

마지막 생각들

이 튜토리얼이 API가 무엇인지, 개발 작업 흐름에서 API를 어떻게 사용할 수 있는지 더 잘 이해하는 데 도움이 되기를 진심으로 바랍니다.

몇 가지 시사점:

  • API는 속도를 높이고 개발 기능을 확장합니다. 그것을 써!
  • API가 반드시 웹 생태계에 연결되어 있는 것은 아닙니다. 당신은 그들을 어디에서나 볼 수 있습니다.
  • 사용하려는 API의 문서를 항상 주의 깊게 확인하세요.
  • 코딩을 시작하기 전에 항상 생태계에 있는 기존 도구(API 등)를 검색하세요.

이제 마지막 예는 "프로덕션" 준비가 되어 있지 않지만 실제 생활에서 어떤 모습일지에 대한 좋은 아이디어를 제공합니다. 사용자가 할인 유형을 선택할 수 있도록 하는 등 개선할 점이 많습니다. 생성된 코드를 단순히 등록하는 것이 아니라 동일한 기능에서 직접 이메일로 보낼 수도 있습니다. 할인 도구에 대한 요구가 더 높다면 API를 직접 작성할 수 있습니다. 원하는 경우 여기에서 API와 상호 작용하는 UI를 만들 수도 있습니다. 어쨌든, 이제 아이디어를 얻으셨기를 바랍니다! :)

그럼 다음 단계는 무엇입니까? 개발의 거의 모든 것과 마찬가지로 코딩하고, 코딩하고, 또 코딩해야 합니다! 여기서는 API 관리 및 통합을 소개합니다. 잠시 후에 당신은 그것들을 사용하는 것이 더 효과적이게 될 것입니다.

그리고 이것이 진짜 재미가 시작되는 곳입니다.