Saben no consigo llenar una base de datos con los datos de un formulario de html con Spring boot 3: Este es el formulario:
<div class="section contact" id="contact">
<div id="map" class="map"></div>
<div class="container">
<div class="row">
<div class="col-lg-8">
<div class="contact-form-card">
<h4 class="contact-title">Send a message</h4>
<form action="http://localhost:8080/posts/reg" method="post">
<div class="form-group">
<input name="nombre" class="form-control" type="text" placeholder="Nombre *" required>
</div>
<div class="form-group">
<input name="apellido" class="form-control" type="text" placeholder="Apellido *" required>
</div>
<div class="form-group">
<input name="email" class="form-control" type="email" placeholder="Email *" required>
</div>
<div class="form-group">
<textarea name="msg" class="form-control" placeholder="Message *" rows="7" required></textarea>
</div>
<div class="form-group ">
<button type="submit" class="form-control btn btn-primary">Send Message</button>
</div>
</form>
<script>
$(document).ready(function () {
$("contact").submit(function (event) {
event.preventDefault();
// Captura los valores del formulario
var formData = {
nombre: $("#nombre").val(),
apellido: $("#apellido").val(),
email: $("#email").val(),
msg: $("#msg").val()
};
// Envía los datos como JSON
$.ajax({
type: "POST",
url: "http://localhost:8080/posts/reg",
contentType: "application/json", // Establecer el tipo de contenido a JSON
data: JSON.stringify(formData), // Convertir el objeto formData a JSON
success: function (response) {
// Manejar la respuesta del servidor cuando la solicitud se completa exitosamente
console.log("Respuesta del servidor:", response);
// Puedes realizar otras acciones aquí, como actualizar la interfaz de usuario o mostrar un mensaje de éxito.
},
error: function (error) {
// Manejar errores en la solicitud
console.log("Error en la solicitud:", error);
// Puedes mostrar un mensaje de error al usuario o tomar otras medidas según el tipo de error.
}
});
});
});
</script>
</div>
Y este es el endpoint que hice:
@PostMapping("/reg")
public ResponseEntity<DatosRespuestaCompletaPost> registrarPost(@RequestBody @Valid DatosRegistroPost datosRegistroPost,
UriComponentsBuilder uriComponentsBuilder) {
System.out.println("Envío correcto");
System.out.println(datosRegistroPost);
Post post = postRepository.save(new Post(datosRegistroPost));
DatosRespuestaCompletaPost datosRespuestaCompletaPost = new DatosRespuestaCompletaPost(post.getId(), post.getNombre(), post.getApellido(), post.getEmail(), post.getTelefono(), post.getMsg(), post.getActive());
URI url = uriComponentsBuilder.path("/posts/{id}").buildAndExpand(post.getId()).toUri();
return ResponseEntity.created(url).body(datosRespuestaCompletaPost);
}
Me gustaría que alguien me ayude por favor.