Следующий шаг
Если вы не прошли Начало работы с LoopBack, то сейчас самое время это сделать.
Для более глубокого понимания LoopBack и того, как он работает, прочитайте Определение модели и Соединение модели с базой данных. руководство пошаговый опишет создание простого LoopBack приложения.
На GitHub вы найдете репозиторий loopback-getting-started с готовым приложением, создание которого будет описываться в данном руководстве. Вы можите скачать его себе и пройти шаг за шагом, которые мы для вас заблаговременно подготовили в виде тегов tags.
Вы можите выполнить все пошагово для того, чтоб создать приложение и понять смысл некоторых вещей в LoopBack , или просто перейти к тому шагу, который вас интересует:
- Создание простого API
- Использование API Explorer
- Подключение вашего API к хранилищам данных
- Расширьте свой API
- Добавление статической веб-страницы
- Добавить пользовательски маршрут Express
-
Узнать больше�мках Loopback:
- iOS SDK (Objective C) для iPhone и iPad приложений. См. iOS SDK для получения более подробно информации.
- Android SDK (Java) для Android приложений. См. Android SDK для получения более подробно информации.
- AngularJS (JavaScript) для HTML5 front-ends. См. AngularJS JavaScript SDK для получения более подробно информации.
Какие коннекторы данных есть в LoopBack?
LoopBack provides numerous connectors to access enterprise and other backend data systems.
LoopBack предоставляет многочисленные коннекторы для доступа крупных проектов и других backend систем данных.
Коннекторы баз данных:
- Memory connector
- MongoDB connector
- MySQL connector
- Oracle connector
- PostgreSQL connector
- Redis connector
- SQL Server connector
Другие коннекторы:
- ATG connector
- Email connector
- Push connector
- Remote connector
- REST connector
- SOAP connector
- Storage connector
Кроме того, есть общественные соединители, созданные разработчиками в LoopBack сообществе с открытым исходным кодом.
Почему curl запрос к моему LoopBack приложению терпит неудачу?
If the URL loads fine in a browser, but when you make a curl
request to your app you get the error:
Если URL загружается в браузере хорошо, но когда вы делаете curl запрос к вашему приложению вы получаете сообщение об ошибке:
curl: (7) Failed to connect to localhost port 3000: Connection refused
Причиной скорей всего будет несовместимость IP версии между вашим приложением и curl
.
Note:
На Mac OS 10.10 (Yosemite), curl
использует IP v6 по умолчанию.
LoopBack, по умолчанию использует IP v4, а curl
может использовать IP v6. Если вы увидите IP v6 запись в вашем фале хоста (::1 localhost, fe80::1%lo0 localhost), вполне вероятно, что curl
делает запрос используя IP v6. Для того, чтоб сделать запрос используя IP v4, укажите свой --ipv4
параметр в вашем curl запросе, как показано ниже.
$ curl http://localhost:3000 --ipv4
Вы можите сделать, чтоб ваше LoopBack приложение использовало IP v6, указав адрес IP v6, как показано ниже:
app.start = function() {
// start the web server
return app.listen(3000, '::1', function() {
app.emit('started');
console.log('Web server listening at: %s', app.get('url'));
});
};
Более конкретные вопросы
После того, как вы начнете работать с LoopBack, у вас могут появится более конкретные вопросы. Наиболее распространенные из них мы собрали тут с короткими вопросами и ссылками на документацию для получения полного ответа.
Как вы выполняете GET запрос на удаленный сервер?
Во-первых, вы должны настроить источник данных, используя REST коннектор. В datasources.json файле, который конфигурирует источник данных, вы можите задать операцию обратную REST API, используя свойства операций.
В качестве короткого примера см. loopback-faq-rest-connector.
Может приложение возвращать XML вместо JSON?
Да: в server/config.json
установить свойство remoting.rest.xml
как true
. См. config.json для получения более детальной информации.
Как послать email из приложения?
Вкратце:
- Настроить источник данных для использования email коннекта.
- Спроектируйте
Email
модель в источник данных email. - Отправить email используя модель настроенную с помощью
Email.send()
.
См. loopback-faq-email для примера.
How do you use static middleware?
Static middleware enables an application to serve static content such as HTML, CSS, images, and client JavaScript files. To add it:
- Remove the contents of the default
"routes"
property inmiddleware.json
. -
Add the following to the
"files"
property inmiddleware.json
: to serve static content from the project’s/client
directory."loopback#static": { "params": "$!../client" }
Of course, change the value to use a different directory to contain static content.
See Defining middleware for more information, and loopback-faq-middleware for a short example.
What kind of hooks do models support?
Model hooks are functions that are executed when certain events occur in a model’s lifecycle. LoopBack models many different hooks, for example: afterInitialize
after a model is initialized, beforeValidate
/ afterValidate
(before and after model validation), beforeSave
/ afterSave
(before and after a model is saved), and so on.
See Model hooks for a complete list and more information. See loopback-faq-model-hooks for a brief example.
Вопросы управления пользователями
See Управление пользователями for more information and loopback-faq-user-management for relevant code examples.
См. Управление юзерами для получения более подробной информации и примеры кода loopback-faq-user-management
Примечание:
- Вы должны натсроить LoopBack для отправки email для email-связывания.
- Если вы используете Gmail, просто замените данные пользователя и пароль на свои учетные данные.
Как зарегистрировать нового пользователя?
- Создайте форму регистрации.
- Создайте remote hook для отправки email с подтверждением.
Примечание:
- При выполнении, user.verify посылает электронную почту с помощью предложенных опций.
- Верификация email настроена для redirect the user to the
/verified
route для общего случая. Для вашего приложения вы должны настроить перенаправление конкретно для своего случая. - Опции self-explanitory не считая
type
,template
anduser.
type
- значением должен бытьemail
.template
-путь к шаблону для проверки email.user
- когда это предусмотрено, информация в объекте будет использована в проверочной ссылке email.
Как вы отсылаете проверочный email новому юзеру?
См. шаг 2 в предыдущем вопросе.
Реализация возможности логина пользователя?
- Создайте форму входа.
- Создайте маршрута обработки запроса входа.
Реализация возможности разлогировнаия пользователя?
- Создайте ссылку разлогировнаия с access token внедренного в URL.
- Вызовите
User.logout
с access token.
Примечание:
- Мы используем loopback token middleware для обработки access tokens. До тех пор, пока вы не представите
access_token
в строке запроса URL, access token объекта будет представлен вreq.accessToken
свойстве в вашем обработчике маршрута.
Как реализовать сброс пароля для зарегистрированного пользователя
- Создайте форму сброса пароля.
- Создайте endpoint для обработки информации сброса пароля. Вызов
User.resetPassword выдает
resetPasswordRequest
событие, и создает временный access token. - Зарегистрируйте обработчик события
resetPasswordRequest
который отправит email зарегистрированному пользователю. В нашем примере, мы приводим URL, который перенаправляет пользователя на страницу сброса пароля с проверкой подлинности с временным access token. - Создайте форму сброса пароля, где пользователь введет и подтвердит новый пароль.
- Создайте endpoint процесса сброса пароля.
Примечание: Для обработчика обратного вызова resetPasswordRequest, вам предоставляется с объектом информация, которая содержит данные, относящиеся к пользователю, который запрашивает сброс пароля.