RESTful приложение на Google App Engine Java? - PullRequest
82 голосов
/ 18 июня 2009

Я хотел бы создать приложение RESTful в Google App Engine. Я хотел бы предоставить услуги XML и JSON. Я кратко экспериментировал с Рестлетом, Рестизи и Джерси. У меня не было большого успеха ни с одним из них, кроме простых примеров в Restlet.

Не могли бы вы поделиться своим опытом создания веб-приложения Restful в Google App Engine с использованием Java или дать представление о вышеупомянутых наборах инструментов для GAE?

Спасибо!

Редактировать (2009-07-25):

Я решил пока использовать Restlet. Кажется, до сих пор работает без нареканий. Пожалуйста, оставьте любые другие идеи / мнения, которые вы можете иметь. С какими проблемами вы столкнулись? Вы успешно использовали Jersey / Restlet / Resteasy на GAE / J? Если это так, мы хотим услышать об этом!

Ответы [ 10 ]

44 голосов
/ 25 июля 2009

Я рад сообщить, что Restlet M3 работает БЕСПЛАТНО в AppEngine 1.2.2. Я ознакомился с учебными пособиями «Первые шаги» и «Первый ресурс» http://restlet.com/technical-resources/restlet-framework/guide.

Итак, мне кажется, что Restlet - это ответ для ваших приложений GAE / J Restful.

17 голосов
/ 27 января 2011

Я использую Джерси на GAE. Вот ссылка для тех, кто заинтересован в настройке: (Я использую GAE SDK v1.4.0):

http://tugdualgrall.blogspot.com/2010/02/create-and-deploy-jax-rs-rest-service.html

6 голосов
/ 17 июля 2009

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

http://wiki.restlet.org/docs_1.2/13-restlet/275-restlet/252-restlet.html

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

5 голосов
/ 19 января 2010

Я использую Restlet вместе с Guice в Google AppEngine. ИМХО они очень хорошо сочетаются друг с другом. См. Мой недавний пост в блоге для получения дополнительной информации: http://haraldpehl.blogspot.com/2009/11/google-appengine-restlet.html

3 голосов
/ 05 декабря 2012

Поскольку эти доблестные старые решения были объединены вместе, Google, по-видимому, предоставил плагин Eclipse для создания начального проекта, который создает приложение App Engine, Android APK и веб-приложение, которые общаются друг с другом через интерфейс, определенный один набор аннотированных объявлений объектов.

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

https://developers.google.com/eclipse/docs/appengine_connected_android

Это видео Google также довольно информативно:

http://www.youtube.com/watch?v=NU_wNR_UUn4

2 голосов
/ 25 мая 2012

Я недавно собрал шаблон проекта с Jersey, Guice и AppEngine на GitHub. Он был разработан с SimpleDS, но его можно изменить, чтобы легко работать с Objectify / JDO. Проект жив здесь .

Это должно стать хорошей отправной точкой для новых проектов.

2 голосов
/ 30 марта 2011

Ну, я бы очень посоветовал вам взглянуть на play framework

Посмотрите видео на главной странице

Имеет модуль gae

С siena в качестве стандарта для управления хранилищем данных gae

Из всех java-фреймворков, которые я видел до сих пор, я думаю, что у него более легкая кривая обучения,

  • отлично документация ,

  • a учебник для разработки полного приложения

  • очень активное и полезное сообщество,

  • бесплатно как в пиве, так и в речи

  • масштабируемость благодаря дизайну без учета состояния

  • для отдыха

  • настраивается с помощью модулей и плагинов

более того, учитывая, что это для курса колледжа, действительно легко взломать код, я мог бы обработать пару заявок и новых функций без какого-либо опыта с java, всего пару лет разработки веб-приложений с php

другие преимущества

  • это действительно легко начать, без сложной настройки, просто скачайте и распакуйте файл, и вы готовы

  • отличный опыт разработки, просто исправьте код и нажмите «Обновить», играйте изменения автокомпиляции на лету при работе в режиме разработки

  • быстрый и легкий

  • fullstack, вам не нужно интегрировать громоздкие фреймворки, чтобы он работал

  • отчет о больших ошибках, больше нет бесконечной трассировки стека ошибок, просто показывает строку с ошибкой

  • без конфигурации xml где-либо вокруг

  • отличная поддержка tdd с интегрированным тестом селена

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

2 голосов
/ 20 июня 2009

Что бы это ни стоило, было довольно много дискуссий о списках пользователей Джерси о том, как заставить Джерси работать на GAE. Это немного утомительная работа из-за ограничений GAE (пропущенные классы из белых списков - надеюсь, со временем разрешатся), но, видимо, можно заставить работать. Так что, хотя это не так просто, это может быть вашим лучшим выбором; особенно поскольку многие из проблем, с которыми сталкиваются, одинаковы для всех платформ (наложенных GAE).

1 голос
/ 14 августа 2012

Вот очень очень хороший учебник Restlet / Android / GAE / Objectify с примером простого приложения. К сожалению, это по-французски, но вы можете скопировать / вставить код или использовать Google Traduction.

Я последовал за ним, и через 2 часа рабочий сервер Android / GAE общался. Это хорошая база для запуска или тестирования Restlet.

http://www.tutos -android.com / вебсервис-отдых-андроида-AppEngine-Restlet-объективизации

Удачи

0 голосов
/ 18 июня 2009

2 самых громоздких действия API GAE REST, чтобы заставить работать, будь то Java или .py, являются графикой и как не показывать личную информацию. Мой маленький гай отдыхает, раздвоенный другой проект. Я уверен, что Java преуспевает там, где Python застрял из-за того, что Java берет и дает больше способов (преимуществ), а также более длинное (более медленное) время для достижения успеха (недостаток), в то время как проекты Python открывают меньше способов добиться успеха (невыгодно) и меньше времени разработки ( выгодное быстрое развитие), чтобы добиться того же.

...