Skip to content

[Recommandation] Resources Restfull : bonnes pratiques

bashizip edited this page Mar 26, 2013 · 1 revision

Voici quelques recommandations importantes concernant les services REST à développer :

A. Paths

Pour une resource, nous avons besoin que de 2 paths pour toutes les opérations CRUD (Create,Read,Update,Delete). Il suffit à chaque requête du httpClient de préciser la METHODE concernée (GET, POST,PUT ou DELETE).

Exemple :

Supposons que nous avons une resource " Users".

  1. Path pour création : /users/ Méthode à préciser : POST PayLoad (HttpEntity) à fournir : Object user sous format json ( ou xml )

  2. Path pour lire tous les users : /users/ Méthode à préciser : GET

  3. Path pour trouver un user par son ID: /users/{ID} Méthode à préciser : GET

  4. Path pour éditer les infos d'un user : /users/{ID} Méthode à préciser : PUT PayLoad (HttpEntity) à fournir : Object user sous format json (ou xml )

  5. Path pour supprimer un user : /users/{ID} Méthode à préciser : DELETE

Conclusion : on n'a besoin que de 2 paths par resource User pour effectuer les opérations CRUD basiques :

        1. GET, POST: /users/
        2. PUT, DELETE: /users/{ID}

Ainsi pour les méthodes particulières telles que "/users/login on a des path similaires. Ceci simplifie les appels coté client du service.

B. MISC

  • Eviter les verbes dans les noms des resouces, par exemple, /users/calculateAge : c'est contraire à la philosophie Restfull. Utiliser des noms : /users/ages

  • Utiliser des noms au pluriels : /users au lieu de /user