Платформы Python REST для App Engine? - PullRequest
14 голосов
/ 05 августа 2011

Любые указатели, советы по реализации REST API на App Engine с Python? Использование webapp для самого приложения.

В настоящее время я знаю, что могу:

  • взломайте мои собственные обработчики webapp для обработки REST-подобных URI, но это, похоже, теряет свою элегантность для больших объемов ресурсов. Я имею в виду, это просто, когда дело доходит до temperature/atlanta, но не так много * даже для довольно простого /users/alice/address/work (хотя имейте в виду, что я не говорю это после того, как реализовал это, просто потратив некоторое время на попытки разработать соответствующий обработчик, так что мое восприятие может быть выключено).

  • использовать функциональность REST, предоставляемую одной из самых больших веб-фреймворков Python. У меня есть необъяснимое сочувствие к web2py, но, поскольку он не используется для проекта, связывание его с приложением просто для обеспечения некоторой функциональности REST кажется… излишним?

(Да, похоже, мне не нравится ни один из этих подходов. Жесткий.)

Так вот, я спрашиваю: какой совет, желательно основанный на опыте, вы бы дали мне здесь? Какие у меня варианты, мой взгляд на них правильный, я что-то упустил?

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

Ответы [ 2 ]

10 голосов
/ 14 марта 2012

У меня была похожая проблема. Желая быстро открыть мой DataStore через REST для WebApps.

Найдено: REST Server AppEngine .

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

6 голосов
/ 05 августа 2011

ProtoRPC в комплекте с SDK, он надежен и активно развивается (хотя и экспериментально). Хотя я думаю, что сам исходный код немного запутан, набор функций довольно полон, и он был сделан кем-то, имеющим опыт создания библиотек такого типа. Он поддерживает передачу с использованием форматов JSON, ProtocolBuffer и URL-кодирования.

Кроме того, вы можете создавать API-интерфейсы, работающие на стороне сервера и на стороне клиента - он определяет протокол «сообщения» с реализациями на Python и JavaScript. Я использовал другие «RESTful» библиотеки Python, но никто другой не предоставил такую ​​согласованность из коробки.

Вот страница проекта и вот список рассылки .

Редактировать: возможно, в их документации отсутствуют некоторые ключевые слова, но просто для ясности: одна из целей ProtoRPC - обеспечить надежную основу для создания служб REST.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...