Skip to content
This repository has been archived by the owner on Jul 14, 2020. It is now read-only.

Nouveaux objets + Génération d'identifiants #5

Open
ClementHard opened this issue Mar 9, 2012 · 9 comments
Open

Nouveaux objets + Génération d'identifiants #5

ClementHard opened this issue Mar 9, 2012 · 9 comments

Comments

@ClementHard
Copy link
Contributor

Concernant la création d'objet du model (Intervention, cible etc), quel moyen vous semble le plus adapté ?

  • Envoi d'une requête GET permettant de récupérer un objet vide initialisé avec un nouvel ID
  • Envoi d'une requête PUT accompagné des données de l'objet retournant ce même objet avec un nouvel ID (ou seulement l'ID)

Pour la génération des identifiants unique :

@maxleiko
Copy link

maxleiko commented Mar 9, 2012

Je pense que demander au serveur un nouvel objet vide avec un nouvel ID est
la meilleure solution.
Mais je prfrerais que JeD nous en dise plus l-dessus. Surtout avec les
histoires de ressources partages a peut vite devenir critique.

Le 9 mars 2012 15:32, Clment Hardouin <
[email protected]

a crit :

Concernant la cration d'objet du model (Intervention, cible etc), quel
moyen vous semble le plus adapt ?

  • Envoi d'une requte GET permettant de rcuprer un objet vide
    initialis avec un nouvel ID
  • Envoi d'une requte PUT accompagn des donnes de l'objet retournant ce
    mme objet avec un nouvel ID (ou seulement l'ID)

Pour la gnration des identifiants unique :


Reply to this email directly or view it on GitHub:
#5

@ClementHard
Copy link
Contributor Author

La méthode utilisant le PUT permet de réduire le nombre de requête.
Avec GET :
1 : -> GET New Cible
<- Cible Vide + id
2 : -> POST Cible
<- 200 ok

Avec PUT :
1 : -> PUT Cible (sans id)
<- Cible + id (ou id)

@GuillaumeHolley
Copy link
Contributor

N'est ce pas plus simple avec une requte GET ? Genre le CODIS cr une
intervention avec les infos de base dedans et en lui attribuant un COS et
quand celui-ci arrive sur place et se connecte sur la tablette, envoie
direct d'une requte GET qui lui retourne l'intervention concern.

Pour la gnration des ID unique, je serais plus partant pour le premier
choix. C'est un avis perso, je trouve sa plus propre.

Le 9 mars 2012 15:32, Clment Hardouin <
[email protected]

a crit :

Concernant la cration d'objet du model (Intervention, cible etc), quel
moyen vous semble le plus adapt ?

  • Envoi d'une requte GET permettant de rcuprer un objet vide
    initialis avec un nouvel ID
  • Envoi d'une requte PUT accompagn des donnes de l'objet retournant ce
    mme objet avec un nouvel ID (ou seulement l'ID)

Pour la gnration des identifiants unique :


Reply to this email directly or view it on GitHub:
#5

@gpolitis
Copy link

gpolitis commented Mar 9, 2012

Pour les IDs, il faut prendre en compte la persistance, qui nous fournit une solution puissante et simple à mon avis. Des qu'un objet est sauvegardé/persisté, il est assigné un objet unique. C'est une pratique courante pour construire des systemes client/server et, du coup, ça nous enlève le casse-tête de l'unicité du clé.

La methode PUT effectivement reduit le nombre des requetes, comme Clement a fait remarqué. Donc ça peut être une bonne solution. Apres, on utilise du REST, donc il faut que l'utilisation de GET/PUT/POST/DELETE qu'on fait est coherent avec le style REST.

@ClementHard
Copy link
Contributor Author

Je suis en train de modifier les ressources du serveur pour :

  • Créer des objets du model en utilisant un PUT avec pour id "new" /agetacserver/intervention/1/source/new.
    Cela retournera la représentation du nouvel objet avec un id généré par rapport a la taille de la liste qui le contient (list.size()+1). Je n'ai pas créer de méthodes dans Intervention.java.
    J'ai ajouter une conditionnelle pour que l'ancienne méthode de création d'objet (envoi d'un objet complet créer par le client) soit toujours possible.
    • Compléter les méthode POST pour pouvoir modifier les objets

Il faudra que je vois avec @gpolitis pour la génération d'id d'intervention

@gpolitis
Copy link

L'objectif de cette semaine est de faire marcher l'ensemble pour la demo. Mais, dans un deuxieme temps, concernant l'utilisation de PUT et POST..

HTTP has four standard-usage verbs: POST, GET, PUT, and DELETE. They do not correspond to CRUD (Create, Read, Update, Delete). Forget about the distinction between create and update; it won't help you here. Both POST and PUT can be used for create and update operations in different situations. So what exactly is the difference between PUT and POST?

In a nutshell: use PUT if and only if you know both the URL where the resource will live, and the entirety of the contents of the resource. Otherwise, use POST.

Reference/Source

@ClementHard
Copy link
Contributor Author

Ok, donc on a inversé les 2 ?

@gpolitis
Copy link

oui, tout à fait

@ClementHard
Copy link
Contributor Author

Ok, dans ce cas, il suffit d'échanger les noms de fonctions dans les ressources

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants