REST API로 작업하는 동안 여러 함수 및 값을 반환하는 방법(1부)
이 시리즈의 1부에서는
q library
함수.spread()
를 사용하여 콜백으로 사용할 여러 함수를 지정하고 이 라이브러리의 가능성을 탐색하는 방법을 보여줍니다. q library
를 사용합니다. q library
는 사용자 지정 약속을 만드는 데 사용되며 약속 작업을 할 때 매우 편리할 수 있습니다.여러 기능을 동시에 실행하고
.spread()
를 사용하여 각 기능에서 응답을 얻는 방법을 살펴보겠습니다. .spread()
는 q library
를 대신하여 사용할 수 있는 .then()
함수입니다.If you have a promise for an array, you can use .
spread()
as a replacement for.then()
Thespread
function “spreads” the values over the arguments of the fulfillment handler. The rejection handler will get called at the first sign of failure. That is, whichever of
the received promises fails first gets handled by the rejection handler. (Source:https://documentup.com/kriskowal/q/)
다음은 여러 값을 반환하고 사용하는 개념입니다
.spread()
. return [a,b,c];
.spread(a,b,c)=>{
//
}
이는 여러 테이블을 쿼리하거나 여러 엔드포인트를 호출하는 API를 구축할 때 유용합니다.
For the sake of this tutorial and to keep it simple, I'll be making use of
chuck-norris
API https://api.chucknorris.io/
This is a free JSON API for hand-curated Chuck Norris facts.
사용된 모듈:
Axios : 이 모듈은 HTTP 요청을 원활하게 만듭니다. 확인해보세요here
q : 이 모듈은 사용자 지정 약속을 만드는 데 사용됩니다. 확인해보세요here
Express: node을 위한 빠르고 독선적이지 않은 미니멀리스트 웹 프레임워크입니다. 확인해보세요here
끝점:
이 튜토리얼에서는 두 개의 chuck-norris API에 요청을 할 것입니다.
농담: https://api.chucknorris.io/jokes/random
카테고리: https://api.chucknorris.io/jokes/categories
이 작업에 필요한 모든 종속성을 설치하려면
npm install q axios express
를 실행합니다.손을 더럽히자🔥
Line 8
: q.fcall()
는 q library
함수이며 약속을 만드는 데 사용됩니다.Line 13
: return [joke, categories]
는 코드 블록의 실행을 중지하고 chuck-norris
에서 line 9 and 10
API에 대한 HTTP 요청을 반환합니다.Line 15
: .spread()
는 .then()
와 같이 작동하지만 .then()
와 달리 여러 개의 인수를 사용합니다. Promise의 성공 및 실패 사례에 대한 콜백 함수입니다.line 17 -18
: 필요한 API 응답을 필터링하기로 결정했습니다. 원하는 대로 응답을 필터링할 수도 있습니다.Line 22-27
: API에서 반환된 응답에 데이터가 포함되어 있는지 확인하는 문 논리를 도입했습니다if
. 이것은 진행하기 전에 응답에 data
필드가 반환되는지 확인하기 위한 것입니다.Line 31
: 내가 0-15를 무작위로 선택하기로 결정한 이유는 범주 API가 15-16개에 가까운 범주 정보를 반환하기 때문에 모두 노출하고 싶지 않기 때문입니다. 나는 Line 39
에서 했다. 다시 말하지만, 이건 제가 할 일입니다. 😃😃 별로 필요하지 않습니다. 맘대로 하시면 됩니다 😉Line 34-42
: 응답을 만들고 구조화하기로 결정했습니다. 😉Line 43
: 마지막으로 응답을 다시 보냅니다.Line 45-47
: 오류가 있는지 확인했습니다.초보자에게 혼동을 줄 수 있는 언급하지 않은 한 가지는
line 6
입니다.나는 지금 내 기분에 따라 끝점 이름을
/chuck-norris
로 선택합니다 😁 원하는 이름을 선택할 수 있습니다.이제 앱을 실행해 봅시다 🚀🚀🚀
On
Line 49-52
내 앱이 port 3000
에서 실행되도록 설정했습니다.로컬 컴퓨터에서 nodemon을 사용하고 있으므로 이 명령을 실행하고 있습니다.
nodemon app.js
[개발 종속성nodemon
으로 npm install --save-dev
를 설치할 수 있음]Postman이나 Insomnia 또는 브라우저를 열어주세요. get 요청이기 때문입니다.
이 끝점에 요청을 만드십시오: http://localhost:3000/chuck-norris
짜잔 🎇
모든 것이 작동합니다!
q library
함수를 사용하여 우리(나와 당신 😉)는 q.fcall()
로 약속을 만들 수 있었습니다. 여기에서 척 노리스 API에 두 개의 API 요청을 만들고 두 호출의 응답을 배열로 반환하고 마지막으로 .spread()
를 사용했습니다. 이것은 또한 콜백으로 사용할 여러 인수를 취하는 q library
함수입니다.행복한 코딩 🍻
프로젝트here 참조
이 기사가 마음에 드십니까? 나를 때리거나
Reference
이 문제에 관하여(REST API로 작업하는 동안 여러 함수 및 값을 반환하는 방법(1부)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/olufemi/how-to-return-multiple-functions-and-values-while-working-with-rest-apis-part-1-2cm7텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)