Einfache, automatische REST-API für eine SQL-Datenbank (MySQL, PostgreSQL usw.) oder DaaS

Ich benötige REST-API-Zugriff auf meine SQL-Datenbank für Endbenutzerabfragen in einer mobilen Anwendung.

Ich versuche zu vermeiden, meine eigene REST-API programmieren zu müssen, da ich aus einem statistischen Programmierhintergrund (R, SAS, Stata) komme und es für mich nicht die einfachste Sache wäre, sie zu schreiben und zu warten. Ich kann flexibel sein, was die Art der verwendeten SQL-Datenbank betrifft – MySQL, Postgres, Cloud SQL usw. … im Grunde alles, in das ich eine .csv-Datei laden kann – und ich bin flexibel, ob sie von mir gehostet wird oder ob sie es ist B. Database as a Service (DaaS) oder Mobile Backend as a Service (MBaaS).

Idealerweise möchte ich meine Daten aus Stabilitätsgründen in Googles Cloud SQL (das nur MySQL ist, das von Google gehostet wird) aufbewahren und eine automatische REST-API finden, um damit zu arbeiten.

Ich habe ein paar Dinge ausprobiert, bin aber in jedem Fall auf Hindernisse gestoßen. Folgendes habe ich bisher versucht:

  • PostgreREST + sqitch – abgesehen davon, dass es ein wenig arbeitsintensiv in der Einrichtung war und alles selbst hosten musste, hat dies nicht geklappt, weil sqitch während der Bereitstellung Berechtigungsprobleme hatte. Der Autor von sqitch hatte einige Lösungsvorschläge, aber keine davon scheint für mich zu funktionieren.
  • Appery.io 's API Express (Beta) -- Ich war sehr begeistert von dieser Lösung und es hat fast geklappt, aber am Ende hat der "Beta"-Aspekt es zunichte gemacht, weil es derzeit keine String-Vergleiche (Musterabgleich) verarbeiten kann. und kann daher Suchen nicht unterstützen
  • DreamFactory - eine weitere nahe Lösung, diese von "Dev Sandbox" gehostete Version konnte keine Verbindung zu meiner Datenbank herstellen und sie abfragen, aber mir wurde gesagt, dass es funktionieren würde, wenn ich eine kostenpflichtige Version installieren würde, die woanders gehostet werden soll. Ich habe es tatsächlich versucht, aber jeder ihrer Vorschläge zur Integration mit einem externen Host (z. B. Google Cloud über Bitnami, Heroku usw.) führte irgendwann zu einer Fehlermeldung, die nicht nur eine Straßensperre verursachte, sondern mich auch fragen ließ, wie stabil und ausgereift ist das Ding wirklich.

Antworten (1)

Ich habe bereits einige Lösungen dafür ausprobiert, einschließlich des Schreibens meines eigenen Node.js-Servers, der Aufrufe an eine MongoDB-Tabelle umleitet und Antworten als Objekte speichert. Es ist einfach und simpel, aber Ihnen fehlt die Kontrolle über irgendetwas.

Wenn ich es heute machen würde, würde ich eine Symfony 2 Anwendung mit dem Rest Bundle von Stan Lemon verwenden . Eine Symfony 2-Anwendung ist ziemlich erweiterbar, wenn etwas im Paket fehlt, fügen Sie es einfach hinzu. Und die ausdrucksstarke Art, Doctrine-Modelle zu beschreiben, ist für Anfänger einfach und ziemlich mächtig, sobald Sie sie kennengelernt haben. Als Bonus können Sie einen Generator verwenden , um eine AngularJS-Admin-Oberfläche für Ihre Modelle zu erstellen.