2015-12-17 3 views
1

Я представляю loopback источников данных «s & модели как полезный инструмент для потребления в API, а не только для автоматического создания Отдыхают API.Использования Петлевых и источники данных моделей без шлейфа

Pretend Я использую Spotify's API. Я хочу, чтобы приложение командной строки просматривало информацию о пользователе на Spotify. Я мог бы написать модели loopback, чтобы их использовать /v1/albums.

Я надеюсь, что смогу создать модель Album и использовать ее как Album.find('Thriller');.

Что я не хочу создать REST API. Я просто хочу, чтобы лучший язык потреблял API других людей, например Facebook или Instagram.

+0

Основываясь на вашем обновлении и состоянии что вы «не хотите ... создавать REST API», то я не думаю, что LoopBack - хороший выбор. Он полностью посвящен созданию REST API. – jakerella

ответ

1

Модель LoopBack - это всего лишь файл конфигурации и набор функций в файле модели. Все конечные точки генерируются самим LoopBack и, как таковые, не очень полезны сами по себе. Тем не менее, вы можете создать спецификацию swagger для каждой из ваших моделей с помощью explorer component (устанавливается по умолчанию, когда вы используете CLI для строительных лесов: slc loopback).

Просто запустите приложение LoopBack, затем перейдите к:

http://localhost:3000/explorer/resources/MyModels 

Вы могли бы использовать чванство спецификации в любой структуры, которая поддерживает этот стандарт.

+0

Я заинтересован в использовании этих моделей, чтобы использовать apis, а не создавать их. – Breedly

+0

Возможно, вам понадобится предоставить гораздо больше информации, чтобы понять ваш прецедент. LoopBack - это API-интерфейс, модель просто является точкой входа в API, на самом деле не имеет смысла использовать «модель» вне LoopBack, потому что модель представляет собой просто файл конфигурации. – jakerella

-1

Одним из хороших подходов является использование разъема для отдыха, который позволит вам формировать ваши запросы и ответы на внешний API, использовать проверку модели на возвращаемых данных, а затем разрешить вам сохранять этот новый контент на своем база данных.

+0

Этот ответ действительно дает правильное решение. Коннектор останова петли позволяет потреблять внешний apis. Почему это было приостановлено? – Overdrivr

1

Loopback имеет концепцию non-database connectors, включая REST connector. Из документов:

LoopBack поддерживает несколько разъемов для систем бэкэнд-систем за пределами баз данных.

Эти типы разъемов часто используют специальные методы в зависимости от на базовой системе. Например, соединитель REST делегирует вызовы API REST, в то время как соединитель Push объединяется с iOS и Android-уведомлениями о push-уведомлениях.

Это взято из документации Spotify (я не пробовал это, хотя):

datasources.json

Album": { 
    "name": "spotify", 
    "connector": "rest", 
    "debug": false, 
    "options": { 
    "headers": { 
     "accept": "application/json", 
     "content-type": "application/json" 
    }, 
    "strictSSL": false 
    }, 
    "operations": [ 
    { 
     "template": { 
     "method": "GET", 
     "url": "https://api.spotify.com/v1/albums/", 
     "query": { 
      "album": "{album}" 
     }, 
     "options": { 
      "strictSSL": true, 
      "useQuerystring": true 
     } 
     }, 
     "functions": { 
     "find": ["album"] 
     } 
    } 
    ] 
} 

Вы могли бы назвать эту апи из кода с:

app.dataSources.Album.find('thriller', processResponse);

+0

Можете ли вы использовать источник данных, не привязывая его к приложению? – Breedly

+1

@ Понятно, что вы подразумеваете под «приложением» – conradj

+0

У вас не может быть источника данных LoopBack без приложения LoopBack ... Я думаю, что вы пытаетесь отделить слой ORM от источника данных от LoopBack, и это просто не имеет никакого смысла. Такого нет. Код выше - это конфигурация для источника данных * LoopBack *, он не существует сам по себе. – jakerella

Смежные вопросы