Bonjour à tous,
J'ai un problème application/x-www-form-urlencoded avec mon formulaire.En fait, quand j'envoie les données(en format json), elles sont bien récupérées par la méthode qui s'en charge sauf que j'ai ce message d'erreur dans le navigateur :
Voici mes différents codes :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 There was an unexpected error (type=Unsupported Media Type, status=415). Content type application/x-www-form-urlencoded;charset=UTF-8 not supported
Méthode qui récupère les données du formulaire et les insère dans la base de données :
HTML:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 @RequestMapping(value = "/insert",method = RequestMethod.POST, consumes="application/json") public @ResponseBody void createType(@RequestBody Type type) { typeService.createType(type); }
J'ai essayé les différents enctype(text/plain et multipart/form-data; application/x-www-form-urlencoded étant celle par defaut) du formulaire mais aucun ne m'a permis de résoudre le problème.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43 <!DOCTYPE HTML> <html xmlns:th="http://www.thymeleaf.org"> <head> <title>Getting Started: Handling Form Submission</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> </head> <body> <div id="app"> <h1>TEST FORM</h1> <form action="" method="post"> <p>Type description: <input type="text" v-model="type.description"/></p> <p><button v-on:click="addType()"> Send </button><input type="reset" value="Reset" /></p> </form> </div> <script src="http://cdn.jsdelivr.net/vue/1.0.10/vue.min.js"></script> <script src="https://unpkg.com/axios/dist/axios.min.js"></script> <script> Vue.prototype.$http = axios; new Vue({ el:'#app', data:{ type:{description:''} }, methods:{ addType(){ /*const config = { headers: { 'Content-Type': 'application/x-www-form-urlencoded', 'Accept': 'application/x-www-form-urlencoded' } };*/ let newType = {description:this.type.description}; console.log(newType); this.$http.post('/types/insert',newType).then(response => { console.log(response); }); } } }); </script> </body> </html>
Merci d'avance.
Partager