Простой автоматический REST API для базы данных SQL (MySQL, PostgreSQL и т. д.) или DaaS

Мне нужен доступ REST API к моей базе данных SQL для запросов конечных пользователей в мобильном приложении.

Я пытаюсь избежать необходимости программировать свой собственный REST API, потому что у меня есть опыт статистического программирования (R, SAS, Stata), и мне было бы нелегко писать и поддерживать. Я могу быть гибким в отношении типа используемой базы данных SQL — MySQL, Postgres, Cloud SQL и т. д., в основном все, что я могу загрузить в .csv — и я могу быть гибким в отношении того, размещена ли она у меня или если она База данных как услуга (DaaS) или Мобильная серверная часть как услуга (MBaaS).

В идеале я хотел бы хранить свои данные в Google Cloud SQL (это просто MySQL, размещенный Google) для стабильности и найти автоматический REST API для работы с ним.

Я пробовал несколько вещей, но в каждом случае сталкивался с препятствиями. Вот что я пробовал до сих пор:

  • PostgreREST + sqitch — помимо того, что он немного трудоемок в настройке и должен сам размещать все, это не сработало, потому что у sqitch были проблемы с разрешениями во время развертывания. У автора sqitch было несколько предложенных решений, но ни одно из них не работает для меня.
  • Appery.io API Express (бета-версия) . и поэтому не может поддерживать поиск
  • DreamFactory — еще одно близкое решение, эта версия, размещенная в «Песочнице для разработчиков», не смогла подключиться и запросить мою БД, но мне сказали, что если я установлю платную версию для размещения в другом месте, она будет работать. На самом деле я попробовал это, но каждое из их предложений по интеграции с внешним хостом (например, Google Cloud через Bitnami, Heroku и т. д.) в какой-то момент приводило к сообщению об ошибке, что не только создавало контрольно-пропускной пункт, но и заставляло меня задаться вопросом, насколько стабильно и хорошо развита эта штука на самом деле.

Ответы (1)

Раньше я пробовал несколько решений для этого, в том числе написал свой собственный сервер Node.js, который перенаправляет вызовы в таблицу MongoDB и сохраняет ответы в виде объектов. Это легко и просто, но вы ничего не контролируете.

Если бы я делал это сегодня, я бы использовал приложение Symfony 2 с Rest Bundle от Стэна Лемона . Приложение Symfony 2 достаточно расширяемо, если чего-то не хватает в комплекте, просто добавьте это. И выразительный способ описания моделей Doctrine удобен для новичков и весьма эффективен, как только вы с ним познакомитесь. В качестве бонуса вы можете использовать генератор для создания административного интерфейса AngularJS для ваших моделей.