Quel serait le moyen le plus simple d'exposer une base de données MySQL en utilisant une interface REST ?
Les seules directives que je peux trouver sur Internet utilisent simplement NetBeans . Je ne suis pas un grand fan de NetBeans ...
Je voudrais récupérer cela et pouvoir mettre à jour les données sur la base de données en utilisant cette interface REST.
Pour votre information, c'est pour une application iPhone sur laquelle je travaille actuellement.
Comme l'a commenté dorkitude, cela dépend des langues que vous pouvez utiliser/que vous souhaitez utiliser.
J'ai trouvé le projet PHPRestSQL qui semble faire ce que vous voulez: http://phprestsql.sourceforge.net/ - je ne l'ai pas essayé moi-même.
MySQL 5.7.4 et les versions ultérieures fonctionnent avec le plug-in HTTP, qui propose une API HTTP REST.
SQL: SELECT * FROM simple ORDER BY id
URL: http://127.0.0.1:8080/sql//SELECT+%2A+FROM+simple+ORDER+BY+id
Cependant, il comporte actuellement un avertissement NOT FIT FOR PRODUCTION.
Une autre option est restSQL, un framework de persistance ultra-léger. http://restsql.org . Il prend en charge MySQL et PostgreSQL et s’exécute dans un conteneur Java EE standard, par exemple. Apache Tomcat.
restSQL est une couche d'accès aux données très peu conventionnelle. restSQL n'est pas une vue orientée objet de la base de données. Il présente des "vues" plates ou hiérarchiques des tables de bases de données relationnelles. Ces vues peuvent être interrogées et mises à jour via une simple API HTTP ou Java basée sur REST. L’interface HTTP est basée sur les principes REST, qui utilisent les fonctionnalités intégrées de HTTP plutôt que de les abstraire.
Mise à jour 2017:
PHP: Un autre bon joueur dans le domaine est https://slimframework.com
Python: http://python-eve.org/
Pour les personnes qui découvrent cela en 2015, les solutions potentielles qui fonctionnent/sont en cours de développement à compter d’octobre sont les suivantes:
Haskell (binaire): https://github.com/begriffs/postgrest
Java: http://restsql.org/
Semble que MySQL obtient l’interface REST en natif, nous pouvons donc interroger la base de données, sans avoir besoin de serveur ... :-)
Si jamais un backend Java est recherché, consultez une réponse que j'ai postée pour Besoin d'écrire un service JSON RESTful en Java qui décrit les étapes à suivre pour vous connecter à la base de données et créer un service Web RESTful Suivant.
Une autre option est Slash db qui "génère automatiquement une API REST à partir de bases de données relationnelles".
Depuis juin 2017, cela fonctionne pour les bases de données SQL sans ajustement, mais les autres types de magasins de données nécessitent un plugin développé sur mesure.
Je n'ai lu que ce service (pas un utilisateur). Je n'ai aucune affiliation avec eux.
En 2019, vous pouvez utiliser PHP-CRUD-API . C'est un script de fichier unique PHP qui ajoute une API REST à une base de données MySQL 5.6 InnoDB. PostgreSQL 9.1 et MS SQL Server 2012 sont également entièrement pris en charge.
Avertissement: je l'ai écrit.
Vous devez également envisager d'utiliser Services de connectivité hybride de DataDirect pour cela. Ils peuvent vous aider rapidement restilisez votre base de données . Pour commencer, vous vous référez aux pages de produits suivantes:
Avertissement: je travaille pour DataDirect, mais veuillez noter que je suis sincèrement convaincu que vous devriez examiner ces solutions.
Je suis tombé sur loopback.io en jouant. C'est un excellent outil pour créer facilement des points de terminaison api pour mysql. Vous pouvez installer un connecteur mysql puis il découvre toutes vos tables mysql et vous pouvez les créer dans des modèles. Je ne connais pas vraiment beaucoup de programmation, mais il est assez facile de trouver une api pour mon sql en une journée. J'ai 19 tables et il a facilement créé mes points finaux.
L’un des moyens les plus simples de créer des API REST pour n’importe quelle base de données MySql consiste à utiliser Xmysql
Pour les requêtes GET seulement, DBSlayer semble prometteur. Voici un google one qui semble également intéressant. Je ne l'ai pas encore utilisé /