Ответы пользователя по тегу API
  • Архитектура проекта

    EugeneOZ
    @EugeneOZ
    Точных ссылок не скажу, но могу подсказать ключевые слова: NoBackend movement, AngularJS, Firebase, Polymer, Shadow DOM, MeteorJS.
    К тому, что я прочитал в Ваших комментариях к ответам, могу добавить, что на бэкэнде придётся оставить ещё и логику, на которую не должен иметь права влиять пользователь. В остальном Вы правильно рассуждаете.
    Ответ написан
    Комментировать
  • SMS-шлюз — работающий по миру?

    EugeneOZ
    @EugeneOZ
    www.nexmo.com/
    есть ещё www.twilio.com/sms, но там долгая регистрация для российского номера — пока не успел их попробовать.
    Ответ написан
    3 комментария
  • Дизайн клиента API. Как лучше возвращать ошибки от API?

    EugeneOZ
    @EugeneOZ
    Бросаться исключениями — плохо, потому что незначительная и никого не интересующая 404 при удалении объекта может оборвать стек выполнения и выдать пользователю бээээ на экран. Исключениями бросаются в языках со строгой типизацией, потому что там нельзя «вдруг» вернуть false вместо ожидаемого типа. В Go эта проблема решена тем, что там можно вернуть несколько значений.
    Ответ написан
  • Фильтрация в GET в RESTful

    EugeneOZ
    @EugeneOZ
    Получается в угоду RESTful принципам я должен ухудшить производительность?

    Да. Производительность никогда не была сильной стороной REST. Время, затраченное на открытие соединения, часто гораздо выше, чем время ответа. Для производительности используйте RPC.

    тот же POST запрос, имеющий в теле id-шники будет куда круче

    Не делайте исключений в стандартах. Потом из этих кривых кусочков построится такое чудовище, что его невозможно будет поддерживать. Потому что «тут вот как в стандарте таком-то, но только по-другому, поэтому это надо помнить и со стандартными тулзами оно не совместимо и без документации его лучше не трогать».
    Ответ написан
  • Как писать API?

    EugeneOZ
    @EugeneOZ
    Вот тут ОЧЕНЬ хорошая статья о том, как правильно писать REST API:
    blog.mugunthkumar.com/articles/restful-api-server-doing-it-the-right-way-part-1/
    очень рекомендую.
    Ответ написан
    Комментировать
  • Как вычислить дубликаты при обновлении базы данных через API?

    EugeneOZ
    @EugeneOZ
    Можно хранить у себя в key-value хранилище список ID, которые вы добавляли в виде 'key:hash', где hash это hash данных новой записи, а key — постоянный префикс. Сделать expire им на неделю, чтобы удалялись сами (или на другое время) и перед добавлением смотреть, существует ли ключ с именем «key:hash». Если не существует — добавлять. Это не 100% защита от дублей, но очень большой процент сможете отсеять, думаю.
    100% защита была бы возможна, если бы можно было сущности добавить поле hash и перед добавлением спросить у API, есть ли запись, у которой поле hash равно hash данных. Тогда можно было бы сначала проверять в своём key-value (как я вышел описал) и, если отсутствует, проверять в API (чтобы не делать лишних запросов).
    Ответ написан
    Комментировать