Skip to content
This repository has been archived by the owner on May 26, 2018. It is now read-only.

Commit

Permalink
Update restapi.md
Browse files Browse the repository at this point in the history
  • Loading branch information
Olivier Gueudelot committed May 9, 2017
1 parent 0e09998 commit 1a4d54f
Showing 1 changed file with 12 additions and 10 deletions.
22 changes: 12 additions & 10 deletions docs/en/dev/restapi.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,9 @@ Pour connaître les détails concernant les resources et fonctionnalités de Reg
Principaux points d'entrée
==========================
Les points d'entrée principaux de l'API sont les suivants :
* [`/users`]() : pour la manipulation des utilisateurs de Regovar
* [`/projects`]() : pour la manipulation des projets de Regovar
* *... à venir ...*
* [`/users`]() : pour la manipulation des utilisateurs de Regovar
* [`/projects`]() : pour la manipulation des projets de Regovar
* *... à venir ...*


Règles générales
Expand Down Expand Up @@ -117,7 +117,8 @@ Pagination
Pour les requêtes qui la supportent (par exemple `/users`), il est possible de spécifier la plage de résultat à retourner.

**Query Parameter** : `?range={first}-{end}`
* Retourne la liste des résultat allant du `{first}` au `{end}` inclus (à noter que le premier élément à pour index 0).
* Retourne la liste des résultat allant du `{first}` au `{end}` inclus (à noter que le premier élément à pour index 0).

```javascript=
Exemple :
Expand All @@ -143,10 +144,11 @@ Filtrage
Pour les requêtes qui le supportent (par exemple `/users`), il est possible de spécifier des paramètres de filtrage pour ne retourner qu'une certaine partie des résultats.

**Query Parameter** : `?{fieldname}={value}[,{or_value},...][&{fieldname2...}]`
* On peut filtrer en précisant en paramètre un champs de la ressource et la valeur attendue. La liste des champs filtrables est fournie par la requête principale sans aucun argument (dans notre exemple la requête `/users`). Seuls les attributs directs de la ressource peuvent être filtrés.;
* On peut filtrer sur plusieurs champs à la fois en les séparant avec le `&`. Dans ce cas le moteur de filtrage appliquera implicement la condition `AND` entre chaque champs filtré;
* On peut filtrer sur plusieurs valeurs pour un même champs, en les séparant avec le symble `,`. Pour le moteur de filtrage il s'agira d'appliquer un `OR` pour chacune de ces valeurs;
* il n'est pas possible de faire du filtrage complexe via ce systeme. Ainsi pour les recherches ou filtrages nécessitant l'usage d'expression régulière, d'opérateur type `>=`, etc, si la ressource le permet, une requete dédiée sera proposée (par exemple **`POST`**`/users/search`).
* On peut filtrer en précisant en paramètre un champs de la ressource et la valeur attendue. La liste des champs filtrables est fournie par la requête principale sans aucun argument (dans notre exemple la requête `/users`). Seuls les attributs directs de la ressource peuvent être filtrés.;
* On peut filtrer sur plusieurs champs à la fois en les séparant avec le `&`. Dans ce cas le moteur de filtrage appliquera implicement la condition `AND` entre chaque champs filtré;
* On peut filtrer sur plusieurs valeurs pour un même champs, en les séparant avec le symble `,`. Pour le moteur de filtrage il s'agira d'appliquer un `OR` pour chacune de ces valeurs;
* il n'est pas possible de faire du filtrage complexe via ce systeme. Ainsi pour les recherches ou filtrages nécessitant l'usage d'expression régulière, d'opérateur type `>=`, etc, si la ressource le permet, une requete dédiée sera proposée (par exemple **`POST`**`/users/search`).

```javascript=
Exemple :
Expand Down Expand Up @@ -214,5 +216,5 @@ Search
Identification et authentification
==================================
Qui dit internet, dit authentification des utilisateurs à distance, session et mot de passe. Tout cela est géré via le point d'entrée [`/users`](), grâce aux actions :
* **`POST`**`/users/login` : qui permet l'authentification grâce aux paramètres `login` et `password` à fournir dans le corps de la requête. Si l'authentification échoue, une erreur 403 est retournée (Forbidden); si elle réussit,
* **`GET`**`/users/logout` :
* **`POST`**`/users/login` : qui permet l'authentification grâce aux paramètres `login` et `password` à fournir dans le corps de la requête. Si l'authentification échoue, une erreur 403 est retournée (Forbidden); si elle réussit,
* **`GET`**`/users/logout` :

0 comments on commit 1a4d54f

Please sign in to comment.