Passer un objet de javascript à spring controller
achrefBIG
Messages postés
27
Date d'inscription
Statut
Membre
Dernière intervention
-
KX Messages postés 16761 Date d'inscription Statut Modérateur Dernière intervention -
KX Messages postés 16761 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour, Je bloque sur un porblème depuis longtemps, mon objectif c'est de passer un objet de javascript à un controleur spring, mais j'obtiens toujours une erreur : There was an unexpected error (type=Bad Request, status=400).
Required request body is missing: public java.lang.String PersonController.addPerson(.entities.Person)
Voici le code en javascript:
et voici mon contrôleur
Required request body is missing: public java.lang.String PersonController.addPerson(.entities.Person)
Voici le code en javascript:
<script> var person = {"name":"John"}; $.ajax({ url:"http://localhost:8080/abc/addPerson", type: 'POST', data: person, dataType: "html", contentType: 'application/json', mimeType: 'application/json', success: function(data){ console.log(data); return false; } }); </script>
et voici mon contrôleur
@Controller @RequestMapping("/abc") public class PersonController { @RequestMapping(value = "/addPerson", method = { RequestMethod.GET, RequestMethod.POST }) public @ResponseBody String addPerson(@RequestBody Person person) { System.out.println(person.getName()); return "Successfully added person"; } }
Configuration: Windows / Chrome 90.0.4430.85
A voir également:
- Passer un objet de javascript à spring controller
- Passer de qwerty a azerty - Guide
- Passer de windows 7 à windows 10 - Accueil - Mise à jour
- Passer de majuscule à minuscule - Guide
- Trousseau mot de passe iphone - Guide
- Passer de windows 10 à windows 11 gratuitement - Guide
1 réponse
Bonjour,
Je t'invite à regarder cet article : https://forums.commentcamarche.net/forum/affich-37598446-implementation-d-une-architecture-multi-tiers-avec-spring
Et le code associé : https://codes-sources.commentcamarche.net/source/103029-implementation-d-une-architecture-multi-tiers-en-jee-avec-spring
C'est un projet de base qui fonctionne que tu peux modifier progressivement pour arriver à tes fins sans subir tous les écueils de tout faire de zéro.
Un petit focus sur le code JS :
Et le code Spring correspondant :
Je t'invite à regarder cet article : https://forums.commentcamarche.net/forum/affich-37598446-implementation-d-une-architecture-multi-tiers-avec-spring
Et le code associé : https://codes-sources.commentcamarche.net/source/103029-implementation-d-une-architecture-multi-tiers-en-jee-avec-spring
C'est un projet de base qui fonctionne que tu peux modifier progressivement pour arriver à tes fins sans subir tous les écueils de tout faire de zéro.
Un petit focus sur le code JS :
function addUser(){ var user = '{' + '"firstName":"' + document.getElementById("addUser_firstName").value + '", "lastName":"' + document.getElementById("addUser_lastName").value + '", "street":"' + document.getElementById("addUser_street").value + '", "postCode":"' + document.getElementById("addUser_postCode").value + '", "city":"' + document.getElementById("addUser_city").value + '"}'; var xhr = new XMLHttpRequest(); xhr.onreadystatechange = function(){ document.getElementById("addUser_iframe").srcdoc = this.responseText; document.getElementById("allUsers_iframe").contentWindow.location.reload(); } xhr.open('POST', '/users/new', true); xhr.setRequestHeader("Content-Type", "application/json"); xhr.send(user); return false; }
Et le code Spring correspondant :
@RestController public interface UserWebService { @GetMapping("/users/all") public List<UserDto> getAllUsers(); @PostMapping("/users/new") public UserDto postUser(@RequestBody UserDto user); }
@Data public class UserDto { private Long id; private String firstName; private String lastName; private String street; private String postCode; private String city; }