Как организовать запросы api прямо в Emberjs?

Недавно я встречался с EmberJS. Есть несколько вопросов, я не могу найти ответы в документации.

  1. Авторизованный пользователь получает данные с сервера по адресу / api / profile при загрузке страницы. Однако, если я попытаюсь сделать это с помощью метода ember api, я получу запрос на api/profiles. Как сделать правильный запрос? Мне нужно получить структуру пользователя, сохранить ее в модели «профиль» и использовать ее в маршрутах и компонентах.

  2. Предположим, первый вопрос решен. Далее возникает проблема с шаблонами. Существует корневой шаблон приложения. Есть компонент «nav-bar», который указывает имя авторизованного пользователя. Итак, как поместить модель пользовательских данных в этот компонент? Этот шаблон не находится в маршруте. Вот шаблон {{nav-bar}}, поэтому мне нужно передать в него схему пользователя.

    <div id = "wrapper"> {{nav-bar}} {{outlet}} </div>
    

Я думаю, может быть, я не получу что-то в архитектуре углей, пожалуйста, помогите мне!

Заранее спасибо!

1 ответ

  1. Первый вопрос. Я предполагаю, что вы пытались сделать что-то вроде этого, чтобы получить свои профили:

    this.get('store').findAll('profile')
    

    По умолчанию Ember форматирует HTTP-запрос в соответствии со спецификацией JSON API (см. http://jsonapi.org/ ).
    JSON API определяет, что profileресурсы должны быть доступны в GET api/profiles.

    Ember позволяет настроить адаптер, он же часть, которая занимается разговором с API. Это руководство поможет вам настроить адаптер в соответствии с вашим API : https://guides.emberjs.com/v2.4.0/models/customizing-adapters/

    Относительно вашего nav-barкомпонента. Вы можете передать переменные компоненту таким образом :

    {{nav-bar user=myUser}}
    

    Где myUserпеременная в контроллере, вызывающая компонент, и userимя переменной в контексте компонента.

    Есть отличная библиотека под названием ember-simple-auth ( https://github.com/simplabs/ember-simple-auth ) это поможет вам справиться с аутентификацией пользователя. Я бы рекомендовал вам взглянуть на него, прежде чем прыгать в него.