Python REST для App Engine?

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

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

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

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

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

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

Спасибо заранее.

Ответ 1

У меня была аналогичная проблема. Желание быстро получить мой DataStore с помощью REST в WebApps.

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

Я использовал его только слегка, но это, безусловно, очень полезно при небольшом количестве работы. И он использует webapp, как вы предполагали.

Ответ 2

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

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

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

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