2012-10-02 4 views
13

Amazon, LastFM 및 Bing의 웹 API에서 데이터를 가져 오는 ExpressJS 및 Coffeescript를 사용하여 웹 응용 프로그램을 만들려고합니다.
사용자는 특정 밴드의 특정 앨범 가격, 다가오는 콘서트 시간 및 밴드 위치 등의 데이터를 요청할 수 있습니다.API 측에서 서버 측 또는 클라이언트 측에서 요청해야합니까?

제 질문은 : jQuerygetJSON을 사용하여 클라이언트 측 API 호출을해야합니까, 아니면 서버 측이어야합니까? 클라이언트 측 요청을 수행했습니다. 어떻게하면 서버 측에서 API 호출을 할 수 있습니까?
그냥 모범 사례가 무엇인지 알고 싶습니다. 누군가 서버 측 API 요청을하기 위해 올바른 방향으로 나를 안내 할 수 있다면 매우 유용 할 것입니다.

감사합니다.

답변

2

하여 자신의 나머지 API를 구축 할 노드의 http.request()을 사용할 수 있습니다

. 하지만 때로는 좋은 하이퍼 미디어 API (다른 리소스에 대한 RESTful 응답 링크)가 있으면 서비스 응답 (예 : SO 요청은 사용자의 gravatar 이미지/리소스를 참조 할 수 있음)에서 다른 서비스의 리소스 링크를 참조 할 수 있습니다. 종속성을 캡슐화할지 또는 통합할지 여부에 따라 다릅니다.

expressjs를 통해 귀하의 웹 api로 공개 된 귀하의 서비스로부터의 웹 API 요청을 만드는 것이 유익 할 수 있습니다.

http 웹 API 요청을 노드에서 만드는 것이 쉽습니다.

거기

HTTP GET Request in Node.js Express

+0

감사합니다. 나는 이것을 시도 할 것이다. 또한이 getJSON 모듈을 앱의 구조에 어디에 두었습니까? 내 DB에 통화 결과를 저장하지 않을 것이라고 말합니다. – aeyang

+0

또한 다른 게시물에서 더 완벽한 샘플을 가지고 있다고 언급했습니다. 그 제안은 여전히 ​​좋은가요? – aeyang

+0

물론, 놀고 프레 젠 테이션을 위해 나는 저장을위한 HTTP 요청과 함께 Parse.com에 말한 학생 휴식 서비스를 썼다 : https : // github. – bryanmac

1

잘 설명해 주시면 아마존, lastfm 등에서 데이터를 가져 와서 노드로 처리하고 데이터베이스에 저장 한 다음 자신의 API를 제공 할 수 있다고 생각합니다. 당신이 데이터를 가져오고 그것은 멀리 저장 및 종속 서비스 변경 사항을 분리하여 응용 프로그램의 통합과 일관성있는 웹 API를 제공하기 위해 추상적 종종 좋은 express.js

6

두 개의 주요 고려 사항이 질문에 대한 :

  1. 통화가 데이터 액세스를 발생 마십시오 여기에 또 다른는 그래서 커버 포스트? 결과가 화면에 기록됩니까?
  2. 어떻게 & 어디에서 오류를 처리 할 계획입니까? 스로틀 링은 어떻게 처리합니까?

웹 서비스가 모든 이유 때문에 항상 중단되기 때문에 항목 # 2가 정말 중요합니다. Bing, Amazon으로의 전화 & 마지막 FM은 아마도 시간의 1 % 또는 0.1 %를 실패 할 것입니다. 내 경험에 근거하면).

사용자에게 서버 측 JS 요청을하려면 Requestpackage on NPM을보고 싶을 것입니다.

+0

링크를 제공해 주셔서 감사합니다. 아래의 두 답변은 모두 http.request를 언급했습니다. 어떻게'Request' npm 패키지가 다른지 궁금합니다. 사용하는 것이 더 간단합니까? – aeyang

+0

'http.request' 라이브러리는 매우 낮은 수준의 접근입니다. NPM의 'Request' 라이브러리는 OAuth, 쿠키, 스트리밍 및 양식 제출과 같은 것들을 지원합니다. 제 3 자에게 전화를 프록시하려는 경우이 도구가 필요할 것입니다. –

+0

고맙습니다. 아프다 확실히 이것을 시도하고있다! – aeyang

관련 문제