Projet de création d'un gestionnaire de comptes bancaires basique pour s'exercer sur le J2EE, JSF, Les Webservices et Android
Date de rendu : 31/01/2014
Penser a modifier votre le datasource de votre persistence.xml (le notre est toto)
Pour un serveur sur http://localhost:8080/GestionnaireDeComptesBanquaires-war/
L'utilisation des Webservices nécéssite des identifiants (login/password Client) valides, fournis dans le Basic Auth.
URL : /api/client
Type : GET
Parametres : aucun
Retour : Une liste d'objets Client en JSON
[{
"id": 1,
"nom": "* Anonymous United! *",
"login": "anonymous",
"password": "b5eae6c475333f72ba9ff6884b872b9d",
"beneficiaires": {},
"comptes": [{
"id": 2,
"solde": 77777.0,
"nom": "Anonymous's looting",
"operations": []
}, {
"id": 3,
"solde": 1337000.0,
"nom": "Anonymous's savings",
"operations": []
}]
}, {
"id": 4,
"nom": "Hadopi",
"login": "hadopi",
"password": "ceeccd4e8d7c5f7396536d4beeb6e32d",
"beneficiaires": {},
"comptes": [{
"id": 5,
"solde": -200000.0,
"nom": "Hadopi - compte courant",
"operations": []
}]
},
...]
URL : /api/client/login
Type : POST
Parametres : application/x-www-form-urlencoded
- login - le login de l'utilisateur
- password - le mot de passe de l'utilisateur
Retour : l'id du client en cas de succès, 0 si identifiants incorrects/inconnus (en text/plain)
4
URL : /api/client
Type : POST
Parametres : application/x-www-form-urlencoded
- nom - le nom du client
- login - le login du client
- password - le mot de passe du client
Retour : l'id du client crée en text/plain
2002
URL : /api/client
Type : PUT
Parametres : application/x-www-form-urlencoded
- idClient - l'id du client a modifier
- nom - le nom du client
- login - le login du client
- password - le mot de passe du client
Retour : Un objet Client en JSON
{
"id": 1,
"nom": "* Anonymous United! *",
"login": "anonymous",
"password": "b5eae6c475333f72ba9ff6884b872b9d",
"beneficiaires": {},
"comptes": [{
"id": 2,
"solde": 77777.0,
"nom": "Anonymous's looting",
"operations": []
}, {
"id": 3,
"solde": 1337000.0,
"nom": "Anonymous's savings",
"operations": []
}]
}
URL : /api/client/{id}
Type : DELETE
Parametres : PathParam
- {id} - l'id du client a supprimer
Retour : rien
URL : /api/client/{id}
Type : GET
Parametres : PathParam
- {id} - l'id du client souhaité
Retour : Un objet Client en JSON
{
"id": 1,
"nom": "* Anonymous United! *",
"login": "anonymous",
"password": "b5eae6c475333f72ba9ff6884b872b9d",
"beneficiaires": {},
"comptes": [{
"id": 2,
"solde": 77777.0,
"nom": "Anonymous's looting",
"operations": []
}, {
"id": 3,
"solde": 1337000.0,
"nom": "Anonymous's savings",
"operations": []
}]
}
URL : /api/client/{from}/{limit}
Type : GET
Parametres : PathParam
- {from} début d'interval (0 par exemple)
- {limit} nombre max de clients a afficher
Retour : Une liste d'objets Client en JSON
[{
"id": 1,
"nom": "* Anonymous United! *",
"login": "anonymous",
"password": "b5eae6c475333f72ba9ff6884b872b9d",
"beneficiaires": {},
"comptes": [{
"id": 2,
"solde": 77777.0,
"nom": "Anonymous's looting",
"operations": []
}, {
"id": 3,
"solde": 1337000.0,
"nom": "Anonymous's savings",
"operations": []
}]
}, {
"id": 4,
"nom": "Hadopi",
"login": "hadopi",
"password": "ceeccd4e8d7c5f7396536d4beeb6e32d",
"beneficiaires": {},
"comptes": [{
"id": 5,
"solde": -200000.0,
"nom": "Hadopi - compte courant",
"operations": []
}]
},
...]
URL : /api/client/count
Type : GET
Parametres : aucun
Retour : Le nombre de compte en text/plain
1000
URL : /api/client/benef
Type : POST
Parametres : application/x-www-form-urlencoded
- idClient - l'id du client a modifier
- idBeneficiaire - l'id du compte bénéficiaire à ajouter (id de compte bancaire)
- labelBeneficiaire - le label de ce beneficiaire (ex : "proprio")
Retour : L'objet Client modifié en JSON
{
id: 4
nom: "Hadopi"
login: "hadopi"
password: "ceeccd4e8d7c5f7396536d4beeb6e32d"
beneficiaires: {
1: "Pwned by the Anonymous"
} -
comptes: [1]
0: {
id: 5
solde: -200000
nom: "Hadopi - compte courant"
operations: [0]
}
}
URL : /api/client/benef
Type : PUT
Parametres : application/x-www-form-urlencoded
- idClient - l'id du client a modifier
- idBeneficiaire - l'id du compte bénéficiaire à modifier (id de compte bancaire) si le bénéficiaire n'existe pas, il est crée
- labelBeneficiaire - le label de ce beneficiaire (ex : "proprio")
Retour : Le label du bénéficiaire modifié en JSON
{
reponse : "Donations to the Anonymous"
}
URL : /api/client/benef/{id}/{idBeneficiaire}/
Type : DELETE
Parametres : PathParam
- {id} - l'id du client a modifier
- {idBeneficiaire} - l'id du CompteBancaire beneficiaire a retirer
Retour : Le label du bénéficiaire supprimé, ou "non trouvé" (JSON)
{
reponse : "Donations to the Anonymous"
}
URL : /api/compte
Type : POST
Parametres : application/x-www-form-urlencoded
- idClient - L'id du Client a qui on créer le compte
- nom - le nom du CompteBancaire
- solde - le solde initial du compte
Retour : l'id du CompteBancaire crée en text/plain
2001
URL : /api/compte
Type : PUT
Parametres : application/x-www-form-urlencoded
- idCompte - L'id du CompteBancaire a modifier
- nom - le nom du CompteBancaire
- solde - le solde du compte
Retour : L'objet CompteBancaire modifié en JSON
{
"id": 2,
"solde": 77777.0,
"nom": "Anonymous's looting",
"operations": []
}
URL : /api/compte/{id}
Type : DELETE
Parametres : PathParam
- {id} - L'id du CompteBancaire a supprimer
Retour : rien
URL : /api/compte/{id}
Type : GET
Parametres : PathParam
- {id} - L'id du CompteBancaire a afficher
Retour : L'objet CompteBancaire en JSON
{
"id": 2,
"solde": 77777.0,
"nom": "Anonymous's looting",
"operations": []
}
URL : /api/compte/
Type : GET
Parametres : aucun
Retour : Une liste d'objets CompteBancaire en JSON
[{
"id": 1,
"nom": "* Anonymous United! *",
"login": "anonymous",
"password": "b5eae6c475333f72ba9ff6884b872b9d",
"beneficiaires": {},
"comptes": [{
"id": 2,
"solde": 77827.0,
"nom": "Anonymous's looting",
"operations": []
}, {
"id": 3,
"solde": 1337000.0,
"nom": "Anonymous's savings",
"operations": []
}]
}, {
"id": 4,
"nom": "Hadopi",
"login": "hadopi",
"password": "ceeccd4e8d7c5f7396536d4beeb6e32d",
"beneficiaires": {},
"comptes": [{
"id": 5,
"solde": -200000.0,
"nom": "Hadopi - compte courant",
"operations": []
}]
}, ...]
URL : /api/compte/{from}/{limit}
Type : GET
Parametres : PathParam
- {from} début d'interval (0 par exemple)
- {limit} nombre max de CompteBancaire a afficher
Retour : Une liste d'objets CompteBancaire en JSON
[{
"id": 1,
"nom": "* Anonymous United! *",
"login": "anonymous",
"password": "b5eae6c475333f72ba9ff6884b872b9d",
"beneficiaires": {},
"comptes": [{
"id": 2,
"solde": 77827.0,
"nom": "Anonymous's looting",
"operations": []
}, {
"id": 3,
"solde": 1337000.0,
"nom": "Anonymous's savings",
"operations": []
}]
}, {
"id": 4,
"nom": "Hadopi",
"login": "hadopi",
"password": "ceeccd4e8d7c5f7396536d4beeb6e32d",
"beneficiaires": {},
"comptes": [{
"id": 5,
"solde": -200000.0,
"nom": "Hadopi - compte courant",
"operations": []
}]
}]
URL : /api/compte/deposer/{id}/{montant}/{description}
Type : GET
Parametres : PathParam
- {id} - L'id du CompteBancaire a créditer
- {montant} - le montant a créditer
- {description} - la description de l'opération. optionnel
Retour : L'objet CompteBancaire en JSON
{
"id": 2,
"solde": 77877.0,
"nom": "Anonymous's looting",
"operations": [{
"id": 0,
"description": "Crédit",
"montant": 100.0,
"dateOperation": 1390221331600
}]
}
URL : /api/compte/retirer/{id}/{montant}/{description}
Type : GET
Parametres : PathParam
- {id} - L'id du CompteBancaire a débiter
- {montant} - le montant a débiter
- {description} - la description de l'opération. optionnel
Retour : La liste des opérations du CompteBancaire en JSON
{
"id": 2,
"solde": 77827.0,
"nom": "Anonymous's looting",
"operations": [{
"id": 0,
"description": "Crédit",
"montant": 100.0,
"dateOperation": 1390221331600
}, {
"id": 0,
"description": "Débit",
"montant": 50.0,
"dateOperation": 1390221465429
}]
}
URL : /api/compte/transferer/{id_from}/{id_to}/{montant}/{description}
Type : GET
Parametres : PathParam
- {id_from} - L'id du CompteBancaire a débiter
- {id_to} - L'id du CompteBancaire a créditer (normalement dans la liste des bénéficiaires)
- {montant} - le montant a transferer
- {description} - la description de l'opération. optionnel
Retour : Le nouveau solde du compte ayant transferé l'argent en text/plain
100
URL : /api/compte/operations/{id}
Type : GET
Parametres : PathParam
- {id} - L'id du CompteBancaire
Retour : La liste des opérations du CompteBancaire en JSON
[{
"id": 0,
"description": "Crédit",
"montant": 100.0,
"dateOperation": 1390221331600
}, {
"id": 0,
"description": "Débit",
"montant": 50.0,
"dateOperation": 1390221465429
}, {
"id": 0,
"description": "Crédit",
"montant": 100.0,
"dateOperation": 1390221702648
}]
URL : /api/compte/count
Type : GET
Parametres : aucun
Retour : Le nombre de CompteBancaire en text/plain
1001