J'étudie une botte de printemps et une jpa de printemps. J'ai pu lire et écrire avec succès dans la base de données, mais le problème se produit lors de la mise à jour des données.
localhost:8080/updatePerson?id=4&name=personame&age=34
3 Réponses :
Si vous cochez l'URL: localhost: localhost: 8080 / updateperson? ID = 4 et nom = Personnale & Age = 34, la méthode que vous essayez d'accéder à (updateperson) est un Selon la manière dont vous faites la demande, il devrait y avoir un endroit où vous utilisez la méthode utilisée. En outre, en regardant l'URL, il ne semble pas y adapter à aucune demande puisque dans le / updateperson, vous vous attendez à une personne d'objet dans le corps, mais envoyez: Un exemple de curl avec un corps qui serait accepté par votre méthode: p> mettre code>, vous devez donc envoyer un < Code> Mettez code> au lieu d'un
obtenez code>.
Vous pouvez voir le type de méthode dans l'annotation:
? Id = 4 & nom = Personnale et Âge = 34 code> comme requête Paramètres. p>
Ayez un meilleur regard sur vos points d'extrémité:
@GetMapping("update") public String updatePerson(){ System.out.println("update to updateperson html"); return "updateperson"; } @PutMapping("/updatePerson") public String updatePerson(Person person){ System.out.println("UPDATING TO" + person.getAge()+" : "+person.getName() + " : "+person.getPid()); personRepository.save(person); return "updateperson"; }
Dans ce cas, le courant de mise à jour doit toujours être mis ou poster puisqu'il reçoit un objet code> code> et l'enregistre à la DB.
Dans le "formulaire HTML", j'ai déclaré la méthode comme poste (HTML ne supporte pas la prise en charge), bien que lorsque j'utilise à la place @ getMapping à la place de @ putmapping, les données sont insérées (non mises à jour) sous forme de tuple séparé (puisqu'il obtient), Alors, comment mettra à jour les données dans MySQL?
Vous envoyez une demande code> code> lorsque vous avez ajouté un Utilisez @putMapping code> dans votre méthode code> updateperson code>. Si vous souhaitez accéder à
updateperson code>, vous devez essayer de frapper ce point final avec un
mettre la méthode code>. P>
Obtenir la méthode CODE> lors de l'accès à
localhost: 8080 / Mettre à jour CODE> et utilisez
Mettez la méthode code> lors de l'accès à
localhost: 8080 / updateperson Code> p>
J'ai @ getMapper pour / mettre à jour et @ putmapping pour / updateperson, le problème est que les données sur / updateperson provient d'un formulaire HTML, qui prend uniquement en charge la méthode d'obtention et de poste, même si j'ai utilisé "POST" dans mon formulaire HTML (dans Document updateperson.html), mes données envoyées par formulaire se trouve dans l'URL (qui est censée se produire pour seulement obtenir la méthode).
S'il vous plaît partager aussi l'URL de la demande.
Localhost: 8080 / updateperson? Id = 4 & Nom = Personnale et Âge = 34