Hello,
j'ai un petit soucis avec une app Spring Boot & React.
Mon controller :
@PutMapping(value = "/notes/{id}")
public ResponseEntity<Notes> updateNotes(@PathVariable String id, @RequestBody Notes notes) {
Notes note = notesRepository.findById(id)
.orElseThrow(() -> new ResourceNotFoundException("Note not found with ID :" + id));
note.setNote(notes.getNote());
note.setDateNote(notes.getDateNote());
note.setPatientId(notes.getPatientId());
Notes updateNotes = notesRepository.save(note);
LOGGER.info("Update Notes OK : " + id);
return ResponseEntity.ok(updateNotes);
}
Du côté de React j'ai une classe NotesService qui contient cette méthode :
updateNotes(notesId, note) {
return axios.put(URL_API_NOTES + '/' + notesId, note);
}
J'ai essayé d'inverser notesId et note, et côté back je vois bien ma note s'update, mais lorsque je recharge la page elle passe en null.
Du côté de mon composant :
updateNote = (event, note) => {
let updatedNote = {...note, note: event.target.value};
console.log(note);
NotesService.updateNotes(updatedNote, note.id).then(response => {
this.setState({note: updatedNote});
// this.setState({note: event.target.value});
this.handleRefresh();
})
}
Quand j'essaye de modifier ma note côté front, je me retrouve avec l'erreur :
@CrossOrigin est bien présent du côté de mon controller, et mes autres requêtes passent sans soucis.
J'ai essayé de faire comme ça aussi côté axios :
updateNotes (notesId, note) {
return axios.request({
url: URL_API_NOTES + '/' + notesId,
method: "PUT",
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json',
'Access-Control-Allow-Origin': '*/*',
'Access-Control-Allow-Headers': 'X-Requested-With, Content-Type',
},
data: {
note: note
}
})
}
Mais j'ai exactement la même erreur.
Une idée de comment s'y prendre ? C'est pas trop mon domaine le front, mais la je suis obligé.
Merci d'avance.