Создание REST API на движке Google App - PullRequest
0 голосов
/ 06 октября 2011

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

Создайте веб-приложение на Python для хранения комментариев и получения комментариев из BigTable.Я бы сделал AJAX-запрос на сохранение комментария (вместе с комментарием и другими параметрами) и AJAX-запросом, чтобы получить все комментарии из BigTable в формате JSON (Можно ли вернуть форматированный HTML напрямую, чтобы я могпросто замените div на родительской странице, которая выполняет запрос).

Проблема здесь в том, что веб-приложение PHP работает в другом домене, и я не уверен, могу ли я делать вызовы AJAX - это нарушаетмеждоменная политика безопасности.Если да, то как работают API на основе REST - где я могу отправлять запросы AJAX и получать JSON в ответ.

В идеале я бы хотел вернуть форматированный HTML напрямую из GAE.Но если это невозможно, я вернусь с возвращением JSON.

Можно ли это сделать?Если да, то любые указания о том, как сделать API-интерфейс подобным этому, были бы полезны.Если нет, каковы обходные пути?

Ответы [ 2 ]

2 голосов
/ 06 октября 2011

Большинство браузеров не допускают перекрестное происхождение XHR. Общий обходной путь для этого - JSONP , что в основном означает использование тега сценария для вызова удаленного JavaScript, который передает данные ответа в локальный обратный вызов.

В этой проблеме или решении нет ничего специфичного для App Engine.

0 голосов
/ 13 мая 2015

Взгляните на RockWall REST API engine.

Список основных полезных функций:

  • Несколько запросов (REST API) через один HTTP-запрос.
  • Унифицированный и стабильный формат ответа для всех запросов.
  • Выполнение метода конечной точки по зависимости определения типа (статическое или нет).
  • Функция модификаторов запроса.
  • Позволяет объявить, какой тип экземпляра класса должен использоваться для каждого запроса (Новый экземпляр, Синглтон или новый экземпляр Синглтона).
  • Поддержка междоменных запросов AJAX.
  • ... иподробнее ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...