Смешение публичных / личных данных в рамках одного звонка

Недавно я читал о Falcor JS и подумал, что это может быть хорошей альтернативой relay + graphQL. Кто-нибудь использовал его для приличного размера проекта с какой-то сложностью, скажите мне, как он работает.

Также, возможно, дайте мне несколько подсказок о том, как обращаться с данными в наборах, которые должны быть аутентифицированы, прежде чем вы сможете получить к ним доступ. Как набор данных будет искать запрос, который включает в себя публичные / защищенные данные?

1 ответ

Мы используем Falcor для большого проекта, он ежедневно обрабатывает +/- 15 миллионов запросов, включая запросы на аутентификацию.

То, что мы делаем, чтобы структурировать, что команда Falcor также называет, граф JSON всегда придерживается somethingById -> UID -> data model состав.

Например:

 {
    "productById": {
        "1234": {
            "Name": "Foo",
            "Weight": 500,
            "Price": 50
        }
    }
}

Теперь, чтобы ответить на ваш вопрос о части аутентификации, Falcor-router является ответом для решения этой проблемы.

Например, предположим, что у вас есть продукт, цена которого основана на аутентифицированном пользователе, если вы хотите запросить цену через маршрутизатор falcor, URL запроса может выглядеть примерно так: /model.json?paths=[["productById",1234,"Price"]]&method=get

В роутере вы можете сделать что-то вроде этого:

{
    route: "productById[{integers:productIds}]['Price']",
    get: function(pathSet){
       // do something related to pricing   
    }
}

Короче говоря, Falcor можно использовать для выполнения аутентификационных операций через маршрутизатор. Я настоятельно рекомендую вам посмотреть видео, опубликованные Джафаром Хусейном.

Другие вопросы по тегам