Подтвердить что ты не робот

Должен ли я выполнять запросы API на стороне сервера или на стороне клиента?

Я пытаюсь создать веб-приложение с помощью ExpressJS и Coffeescript, которое извлекает данные из веб-API Amazon, LastFM и Bing.
Пользователи могут запрашивать такие данные, как цены на конкретный альбом из определенной группы, предстоящие концертные времена и места для группы и т.д. Такие вещи.

Мой вопрос: должен ли я использовать эти вызовы API на стороне клиента с помощью jQuery и getJSON, или они должны быть серверными? Я выполнил запросы на стороне клиента; как я мог бы сделать вызов API со стороны сервера?
Я просто хочу знать, что такое лучшая практика, а также если кто-то может указать мне в правильном направлении для получения запросов API на стороне сервера, это будет очень полезно.

Спасибо!

4b9b3361

Ответ 1

Часто бывает полезно абстрагироваться от ваших хранилищ и зависимых сервисов, чтобы изолировать изменения и предложить консолидированную и последовательную веб-api для вашего приложения. Но иногда, если у вас есть хорошая гипермедиа web api (ссылки RESTful ссылаются на другие ресурсы), вы можете ссылаться на ссылку ресурса от другой службы в ответе от вашей службы (например: запрос SO может ссылаться на изображение/ресурс пользователя). Там ни один размер не подходит для всех - это зависит от того, хотите ли вы инкапсулировать зависимость или интегрировать с ней.

Возможно, было бы полезно сделать запросы web-api из вашего сервиса, выставленные через expressjs, как ваш собственный веб-apis.

Выполнение HTTP-запросов api легко с node. Здесь другое сообщение SO, в котором:

Запрос HTTP GET в node.js Express

Ответ 2

В этом вопросе есть два ключевых вопроса:

  • Позволяют ли вызовы любой доступ к данным? Получены ли результаты, которые будут записаны на экран?
  • Как и где вы планируете обрабатывать ошибки? Как вы справляетесь с дросселированием?

Пункт № 2 действительно важен здесь, потому что веб-сервисы все время снижаются по целому ряду причин. Ваши звонки в Bing, Amazon и Last FM провалится, вероятно, на 1% или 0,1% от времени (в зависимости от моего опыта здесь).

Чтобы выполнить запросы пользователей на стороне сервера JS, вы, вероятно, захотите взглянуть на пакет Request на NPM.

Ответ 3

ну, как вы его описываете Я думаю, вы можете захотеть извлечь данные из amazon, lastfm и т.д., обработать его с помощью node, сохранить его в своей базе данных и предоставить свой собственный api.

вы можете использовать node http.request() для извлечения данных и создания собственного собственного api при помощи express.js