Ответы пользователя по тегу RESTful API
  • Как грамотно реализовать фильтрацию в запросах API?

    tumbler
    @tumbler
    бекенд-разработчик на python
    Напишите маленький DSL и передавайте его в текстовом виде в GET-параметре query.
    Если не обращать внимания на запах (не делайте так никогда), можно прям
    GET /objects/?query=WHERE A AND B OR NOT A AND B OR A IS NULL OR B IS NULL
    Ответ написан
    1 комментарий
  • Как архитектурно организовать поисковый микросервис на golang?

    tumbler
    @tumbler
    бекенд-разработчик на python
    Redis как кэш актуален для "одноядерных" языков вроде node/python/php. Там большие проблемы с многопоточным доступом к памяти, поэтому вместо памяти используют key-value (memcached еще вспомнить можно). А если у вас голанг - так зачем редис? Воспользуйтесь кэшом в памяти, всё еще на порядок быстрее работать станет за счет отсутствия сетевых взаимодействий на кэш-хитах.
    Ответ написан
    2 комментария
  • Для чего нужен REST?

    tumbler
    @tumbler
    бекенд-разработчик на python
    REST - это набор соглашений о том, как реализовывать API поверх HTTP. Оно включает как кучу деталей собственно интерфейса, так и принципы работы серверной части (идемпотентность, отстутствие состояния и прочее). Нужно это для того, чтобы при организации взаимодействия с очередным сервисом не реализовывать очередной набор костылей, а воспользоваться имеющимся.
    В качестве примеров проблем, решаемых подходом REST можно выделить следующие:
    • различие в схемах запросов (например, создание одного объекта через POST JSON а-ля RPC вконтакте с указанием метода, а создание другого - через GET причем с телом XML)
    • различие в сообщениях об ошибке (HTTP 200 OK {"message": "internal server error"})
    • различие в форматах ответов (без query-параметра id=1 возвращается список всех объектов, с query-параметром - словарь, содержащий один объект)

    Про stateless пример привести не могу, не сталкивался в этом веке с такими API.
    Ответ написан
    1 комментарий
  • Как создать клиент для сервера django?

    tumbler
    @tumbler Куратор тега Django
    бекенд-разработчик на python
    Препод требует от вас избавиться от шаблонов на сервере и передавать данные через REST API шаблонизатору на фронтенде. В общем, удачи с изучением JS в курсе по питону.
    Ответ написан
    Комментировать
  • Как добавить field в serialization?

    tumbler
    @tumbler Куратор тега Django
    бекенд-разработчик на python
    Вообще когда в API говорят про токен, это обычно касается аутентификации. В этом случае поле в сериалайзер добавлять не надо.
    Если же хочется прям наряду с остальными полями токен передавать, то придется делать кастомное поле и навешивать на него валидацию.
    Ответ написан
    Комментировать