Page Contents
Page Contents

LoopBack приложения поставляется с встроенным API Explorer, который вы можите использовать для тестирования REST API в процессе разработки.

Скорей всего вы не единственный кто будет использовать API, которое вы создали.  А это значит, что вам нужно документировать ваше API.  К счастью, LoopBack сам генерирует  портал разработчика / API Explorer для вас. 

Загрузить приложение ( в состоянии требующемся для выполнения данного руководства) с GitHub и проинсталлировать:

$ git clone https://github.com/strongloop/loopback-getting-started.git
$ cd loopback-getting-started
$ git checkout step1
$ npm install

Запуск API Explorer

Запустите приложение:

$ slc run

Теперь перейдите оп адресу http://localhost:3000/explorer.  Вы увидите StrongLoop API Explorer покажет две модели вашего приложения: Users и CoffeeShops: 

В дополнение к CoffeeShop модели которую вы определили, по умолчанию Loopback генерирует User модель и ее endpoints для всех приложений.  

О встроенных моделях LoopBack

На самом деле, LoopBack создает несколько других встроенных моделей для распространенных случаев:

  • Application model - содержит метаданные для клиентского приложения, которое имеет свои характерные особенности и связанно конфигурацией с LoopBack сервером.
  • User model - регистрация и аутентификация пользователей вашего приложения локально или с помощью сторонних сервисов.
  • Access control models - ACL, AccessToken, Scope, Role и RoleMapping модели для контроля доступа к приложениям, ресурсам и методам.
  • Email model - отправка почты для пользователей вашего приложения с помощью SMTP или стороннего сервиса.

Встроенные модели (за исключением Email) относяться к PersistedModel, поэтому они автоматически имеют полный комплект CRUD операций: создание, редактирование удаление.

Просмотр вашей модели CoffeeShop

Сейчас, перейдите к “детализации” модели CoffeeShop. Кликните на CoffeeShops чтоб увидеть все  API endpoints:

Прокрутите вниз и просмотрите строчки  API endpoints: вы увидите, что они включают весь ряд CRUD операций: создание, чтение, редактирование и удаление, и еще некоторые другие.

Кликнете на первой строке, POST  /CoffeeShops    Create a new instance of the model and persist it into the data source чтобы развернуть эту операцию:

Следуйте инструкциям в приведенной выше схеме.

Кликнете по Model Schema чтоб получить JSON “шаблон данных” который можно редактировать в поле данных.  

Добавьте любой текст в качестве имени свойства. Вам не нужно ничего вводить в id параметр, потому как LoopBack автоматически отредактирует его, что гарантирует всегда уникальный id параметр для операторов модели.

{
  "name": "My Coffee Shop",
  "id": 0
}

Далее кликните по кнопке Try it out!

Вы увидите информацию по запросу REST представленному и ответу приложения (для примера):

Response Body поле покажет данные, которые только что были введены, возвращенные как подтверждение того что они были добавлены в хранилище данных.

Теперь нажмите **GET  /CoffeeShops     Find all instances of the model matched by filter from the data source, **чтоб развернуть этот endpoint:

Нажмите Try it out!, чтоб получить данные введенные для моделиCoffeeShop.  Вы должны увидеть запись созданную с помощью POST API.

Non-public Information

Try out user login and authentication

Right now you're probably thinking about security. Don't worry, LoopBack provides a full-featured solution for authentication and authorization.  Follow the steps here to get an overview of how it works.

First, in API Explorer, close the CoffeeShop model and expand the Users model.

The basic flow is:

  1. Create a new user record with an email, and password.
  2. Login with the email and password.  The application response will include an id property that is the user's access token.
  3. Copy the access token from the response and copy it into the accessToken field.
  4. Click Set Access Token.

What operations can you perform?  Which do you need to be an admin user for?

Next: В Подключение вашего API к хранилищам данных, вы узнаете как подключить вашу модель к базе данных, такой как MongoDB.