Зачем использовать пакеты REST API, связанные с django, для вызовов, отличных от ORM?

Каковы плюсы и минусы использования пакетов REST API, связанных с django, таких как tastypie,поршень или django-rest для вызовов не-ORM вместо простого использования представлений?


person Jonathan    schedule 23.02.2012    source источник
comment
Что должен означать этот вопрос?   -  person Marcin    schedule 23.02.2012
comment
Имея в виду: это не проблема, что пакеты rest API очень помогают, когда дело доходит до сопоставления вызовов rest с вызовами ORM, однако я не уверен, что вижу, что их преимущества перевешивают их накладные расходы, когда они не используют ORM. Кстати, может быть, ответ тривиален для некоторых, но не для других. Я не понимаю, как это делает вопрос плохим...   -  person Jonathan    schedule 23.02.2012
comment
В чем проблема? Если они вам не нравятся, не используйте их. С тем же успехом вы можете написать свои AJAX-представления вручную.   -  person Marcin    schedule 23.02.2012


Ответы (2)


Я не думаю, что на самом деле вопрос в том, напрямую ли ресурсы API сопоставляются с моделями или нет. Дело в том, что эти пакеты API абстрагируют большую часть шаблонного кода, который вы в конечном итоге выполняете, например, проверяете тип запроса, сопоставляете URL-адреса и сериализуете свой вывод. Связывание ресурса с моделью — это просто одна из многих функций, позволяющая упростить форматирование представления данных.

Хотя я не вижу в этом серьезного недостатка, я полагаю, что использование пакета API требует от вас соответствия его спецификациям и, как правило, работы в рамках его функций. Но такие пакеты, как поршень или вкусный пирог, настолько удобны, что я не могу придумать реальной причины НЕ использовать их, если ваша цель — предоставить RESTful API. Вы получаете так много бесплатно. Эти пакеты также, как правило, включают в себя дополнительные функции аутентификации и декораторы.

Написание базовых представлений django — это то же самое, что создание собственного API. Либо используйте пакет для удобства, либо сверните свой собственный, если вам действительно нужно что-то нестандартное, чего они не предоставляют.

person jdi    schedule 23.02.2012

Помимо преобразования вызовов REST в ORM, хороший пакет API может обрабатывать многие аспекты, такие как возможность поддержки нескольких серверных частей сериализации, обработка аутентификации/авторизации, кэширование, регулирование и многое другое.

Если вы не ожидаете, что вашему проекту когда-либо потребуются эти преимущества в будущем, переход к жестко закодированным представлениям может быть самым быстрым, однако это, как правило, не так.

person Jonathan    schedule 23.02.2012