php-crud-api

Petite API disponible sur:
https://github.com/mevdschee/php-crud-api

Installation

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

Utlisation

Quelques exemples d'utilisation, dans mon exemple, tout d'abord sur ma base C14_banadora:

via URL dans le navigateur

http://localhost:8000/api.php/records/location_said_place?filter=id,bt,61,67

http://localhost:8000/api.php/records/location_said_place?filter=place_name,cs,For%C3%AAt

en CLI, avec cUrl

Dans les lignes ci-dessous j'ai mis <mon_mot2passe> qui est à remplacer par votre mot de passe, comme l'identifiant, évidement sans <>
# 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

en PostGreSQL

http://localhost:8000/api.php/records/town

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)"