Commit 90a48e212b3d5f7fab9584d158bf3a546fc7d340

Authored by Geoffrey PREUD'HOMME
1 parent b8824e3a

Personnes

Showing 1 changed file with 103 additions and 11 deletions   Show diff stats
1 -#%RAML 1.0 1 +#%RAML 0.8
2 title: API d'Etunicorn 2 title: API d'Etunicorn
3 baseUri: https://etunicorn.plil.net/{version}/ 3 baseUri: https://etunicorn.plil.net/{version}/
4 version: v1 4 version: v1
  5 +
  6 +# Les codes 401 et 400 sont implicites
5 /login: 7 /login:
6 post: 8 post:
7 description: Instancie une nouvelle connexion 9 description: Instancie une nouvelle connexion
8 - queryParameters: 10 + queryParameters:
9 login: 11 login:
10 displayName: Login Polytech 12 displayName: Login Polytech
11 type: string 13 type: string
@@ -19,13 +21,21 @@ version: v1 @@ -19,13 +21,21 @@ version: v1
19 description: Authentification réussie 21 description: Authentification réussie
20 body: 22 body:
21 application/json: 23 application/json:
22 - example: 24 + example: |
23 { 25 {
24 "token": "ooT6zahdura7vaethuiph1ugiph6co", 26 "token": "ooT6zahdura7vaethuiph1ugiph6co",
25 "expire": 1485607703 27 "expire": 1485607703
26 } 28 }
27 401: 29 401:
28 description: Authentication échouée 30 description: Authentication échouée
  31 + /{token}:
  32 + delete:
  33 + description: Se déconnecter
  34 + responses:
  35 + 204:
  36 + description: Déconnecté avec succès
  37 + 404:
  38 + description: Jeton non trouvé
29 /personne: 39 /personne:
30 get: 40 get:
31 description: Obtenir la liste des persones 41 description: Obtenir la liste des persones
@@ -33,23 +43,105 @@ version: v1 @@ -33,23 +43,105 @@ version: v1
33 200: 43 200:
34 body: 44 body:
35 application/json: 45 application/json:
36 - example: 46 + example: |
37 [ 47 [
38 - {  
39 - "idPersonne": 42,  
40 - "idCarte": "AAAAA", 48 + {
  49 + "id": 42,
  50 + "carte": "AAAAA",
41 "naissance": "1997-02-14", 51 "naissance": "1997-02-14",
42 "solde": 1337, 52 "solde": 1337,
43 - "loginPoly": "gbontoux" 53 + "login": "gbontoux"
44 } 54 }
45 ] 55 ]
46 - put:  
47 - description: Ajoute un nouvel étudiant 56 + /{idPersonne}:
  57 + get:
  58 + description: Obtenir les infos sur une personne
  59 + responses:
  60 + 200:
  61 + description: Utilisateur récupéré
  62 + body:
  63 + application/json:
  64 + example: |
  65 + {
  66 + "id": 42,
  67 + "carte": "AAAAA",
  68 + "naissance": "1997-02-14",
  69 + "solde": 1337,
  70 + "login": "gbontoux"
  71 + }
  72 + 404:
  73 + description: Utilisateur non trouvé
  74 + put:
  75 + description: Modifer les infos d'une personne
  76 + queryParameters:
  77 + carte:
  78 + displayName: ID de la carte NFC
  79 + type: string
  80 + required: false
  81 + minLength: 14
  82 + maxLength: 14
  83 + example: 39cdd9ed0b191d
  84 + naissance:
  85 + displayName: Date de naissance
  86 + type: date
  87 + required: false
  88 + example: 1997-02-14
  89 + login:
  90 + displayName: Login Polytech
  91 + type: string
  92 + required: false
  93 + example: gbontoux
  94 + responses:
  95 + 202:
  96 + description: Utilisateur modifié
  97 + body:
  98 + application/json:
  99 + example: |
  100 + {
  101 + "id": 42,
  102 + "carte": "AAAAA",
  103 + "naissance": "1997-02-14",
  104 + "solde": 1337,
  105 + "login": "gbontoux"
  106 + }
  107 + 404:
  108 + description: Utilisateur non trouvé
  109 + delete:
  110 + description: Obtenir les infos sur une personne
  111 + responses:
  112 + 204:
  113 + description: Utilisateur supprimé
  114 + 404:
  115 + description: Utilisateur non trouvé
  116 + post:
  117 + description: Ajoute une nouvelle personne
48 queryParameters: 118 queryParameters:
49 - idCarte: 119 + carte:
50 displayName: ID de la carte NFC 120 displayName: ID de la carte NFC
51 type: string 121 type: string
52 required: false 122 required: false
  123 + minLength: 14
  124 + maxLength: 14
  125 + example: 39cdd9ed0b191d
53 naissance: 126 naissance:
54 displayName: Date de naissance 127 displayName: Date de naissance
  128 + type: date
  129 + required: false
  130 + example: 1997-02-14
  131 + login:
  132 + displayName: Login Polytech
  133 + type: string
  134 + required: false
  135 + example: gbontoux
  136 + responses:
  137 + 201:
  138 + description: Personne ajoutée avec succès
  139 + body:
  140 + application/json:
  141 + example: |
  142 + {
  143 + "id": 42
  144 + }
  145 +
  146 +
55 147