Javascript'te Getirme API'sini kullanarak bir spring uygulamasına bazı form verileri göndermeye çalışıyorum. Form verilerini göndermek için bu kodum var:
document.querySelector('#formPet').addEventListener('submit', event => {
event.preventDefault();
let email= document.querySelector("#email");
fetch('http://localhost:8080/petForm/'+email.value+'/pets', {
method: 'POST',
body: JSON.stringify({
help: "helpme:("
})
})
});
ancak "Desteklenmeyen Ortam Türü"415 durum hatası alıyorum. Özellikle 'Content-Type' başlığını 'application/json' olarak ayarladığımda bile 'text/plain'gibi gönderir
fetch('http://localhost:8080/petForm/'+email.value+'/pets', {
method: 'POST',
header: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
help: "helpme:("
})
})
});
bu sunucudan aldığım yanıttır:
İşte ilkbaharda isteği kabul eden yöntem:
@PostMapping("petForm/{id}/pets")
public ResponseEntity<Pet> createPet(@PathVariable("id") String ownerId, @RequestBody Map<String, Object> data){
System.out.println(data);
return ResponseEntity.ok().build();
}
isteğin neden 'metin / düz' biçiminde gönderildiğini bilmiyorum, postman'da Spring yöntemini deniyorum ve verileri json biçiminde gönderdiğimde iyi çalışıyor.