Ejercicios Prácticos - JSP, Jakarta EE y Spring
Ejercicio 1: CREACIÓN DEL PROYECTO CON SPRING-BOOT
Configurar Properties del Proyecto
spring.datasource.url=jdbc:mysql://localhost:3306/academico
spring.datasource.username=root
spring.datasource.password=123456
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
CREACIÓN DEL MODELO ESTUDIANTE
Modelo Estudiante
package com.jsuasnabar.apiAcademico.models;
import jakarta.persistence.*;
@Entity
@Table(name = "estudiante")
public class Estudiante {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long idEstudiante;
private String nomEstudiante;
private String dirEstudiante;
private String ciuEstudiante;
// Getters y setters
public Long getIdEstudiante() {
return idEstudiante;
}
CREACIÓN DEL ESTUDIANTEREPOSITORY
Repositorio Estudiante
package com.jsuasnabar.apiAcademico.repositories;
import com.jsuasnabar.apiAcademico.models.Estudiante;
import org.springframework.data.jpa.repository.JpaRepository;
public interface EstudianteRepository extends JpaRepository{
}
CREACIÓN DEL ESTUDIANTECONTROLLER
Controlador Estudiante
package com.jsuasnabar.apiAcademico.controllers;
import com.jsuasnabar.apiAcademico.models.Estudiante;
import com.jsuasnabar.apiAcademico.repositories.EstudianteRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController
@RequestMapping("/api/estudiantes")
public class EstudianteController {
@Autowired
private EstudianteRepository repo;
@PostMapping
public Estudiante agregar(@RequestBody Estudiante estudiante) {
return repo.save(estudiante);
}
@PutMapping("/{id}")
public ResponseEntity modificar(@PathVariable Long id, @RequestBody
Estudiante datos) {
return repo.findById(id)
.map(est -> {
est.setNomEstudiante(datos.getNomEstudiante());
est.setDirEstudiante(datos.getDirEstudiante());
est.setCiuEstudiante(datos.getCiuEstudiante());
return ResponseEntity.ok(repo.save(est));
})
.orElse(ResponseEntity.notFound().build());
}
@DeleteMapping("/{id}")
public ResponseEntity eliminar(@PathVariable Long id) {
if (repo.existsById(id)) {repo.deleteById(id);
return ResponseEntity.noContent().build();
}
return ResponseEntity.notFound().build();
}
@GetMapping
public List listarTodos() {
return repo.findAll();
}
@GetMapping("/{id}")
public ResponseEntity buscarPorId(@PathVariable Long id) {
return repo.findById(id)
.map(ResponseEntity::ok)
.orElse(ResponseEntity.notFound().build());
}
}
PROBAR LOS RESPECTIVOS CODIGOS EN EL POSTMAN
Tabla de verificación de endpoints en Postman
http://localhost:8081/api/docentes
http://localhost:8081/api/docentes/1
http://localhost:8081/api/docentes/ciudad/Cusco
http://localhost:8081/api/docentes/experiencia/10
http://localhost:8081/api/docentes/edad-promedio
http://localhost:8081/swagger-ui/index.html
http://localhost:8081/api/docentes/paginacion?page=0&size=10
Ej: http://localhost:8081/api/docentes/999
← Volver