Petite API disponible sur:
https://github.com/mevdschee/php-crud-api
Elle se limite à un seul fichier api.php
Copier simplement le fichier api.php… lors de mes premiers tests, j'ai placé ce fichier dans un répertoire vendor de mon répertoire projet.
Bien modifier l'accès à la base à la fin du fichier api.php
Par défaut, l'API travaille en mysql, pour lui spécifier de travailler en pgsql, il faut ajouter (je l'ai mis juste avant le 'username'):
$config = new Config([ 'driver' => 'pgsql'
C'est donc dans le répertoire vendor que j'ai lancé
php -S localhost:8000
Quelques exemples d'utilisation, dans mon exemple, tout d'abord sur ma base C14_banadora:
# pour lire (GET) curl -X GET localhost:8000/mevdschee_rest_api.php/records/location_said_place/80 # ou curl -XGET -u bertrand:<mon_mot2passe> localhost:8000/mevdschee_rest_api.php/records/location_said_place/80 # POUR MODIFIER (PUT <-> UPDATE) # sans spécifier de format, donc "SQL": curl -X PUT -u bertrand:<mon_mot2passe> -d "place_name=testBD" localhost:8000/mevdschee_rest_api.php/records/location_said_place/80 # en JSON: curl -X PUT -u bertrand:<mon_mot2passe> --header "Content-Type:application/json" --data '{"place_nam" : "testBD-json"}' localhost:8000/mevdschee_rest_api.php/records/location_said_place/80
ce qui retourne bien:
records 0 id 1 name "London, England" geom "POINT(-0.1257 51.508)" 1 id 2 name "London, Ontario" geom "POINT(-81.233 42.983)" 2 id 3 name "East London,SA" geom "POINT(27.91162491 -33.01529)"