Author :@alreylz
Ejemplos funcionales de SpringBoot/Spring Framework para la asignatura de Tecnologías Informáticas para la Web (2022-2023)
/setup
: Contiene datos de ejemplo que pueden ser usados para inicializar la persistencia (rellenar la base de datos) E.g., scripts de bases de
datos, imágenes de prueba, etc.
Importante saber en qué puerto está ejecutando nuestra aplicación a la hora de probar las APIs, puesto que (ver archivo applicacion.properties
).
representations/...
-> Clases sin respaldo en base de datos que pueden ser devueltas como representación al llamarse a nuestra API REST
controllers/BasicController
-> Clase con @Controller que tiene una serie de endpoints accesibles y que demuestran el uso de spring web para contestar peticiones.
representations/...
-> Clases sin respaldo en base de datos que pueden ser devueltas como representación al llamarse a nuestra API REST
controllers/SampleWebControllerNoPersistence
-> Controlador que ejemplifica un API rest pero sin respaldo con base de datos (se simula la persistencia por medio de una serie de listas que se van actualizando según las peticiones que se realicen.)
controllers/ComputerRestControllerWResponseEntity
--> Clase controller con respaldo en base de datos que hace accesibles una serie de enpoints para Crear, Actualizar, Eliminar y Buscar objetos 'Computer'
repos/ComputerDAO
--> DAO que extiende de CrudRepository para la gestión de objetos 'Computer'
mysql.entities/Computer
-> Clase entidad asociada con la base de datos
Acceso a base de datos y realización de operaciones a nivel de objeto con JPA.
Importante especificar en el archivo application.properties
los valores correctos para usuario, contraseña y uri de la base de datos (obligatorio para MySQL).
...
mysql.entities/Computer
-> Clase entidad asociada con la base de datos
repos/ComputerDAO
-> DAO que extiende de CrudRepository para la gestión de objetos 'Computer'
controllers/ComputerRestController
-> Controlador encargado de hacer accesible la API
mysql.documents/Person
-> Clase @Document que tiene asociada una colección en MongoDB
repos/MongoRepo
-> DAO que extiende de CrudRepository y accede a MongoDB
controllers/MongoController
... More examples coming
Necesario crear sistema de carpetas webapp/WEB-INF/views
donde metereremos las vistas .jsp
Descomentar la clase ConfigEnableJSPAndThymeleaf.java
para poder usar JSPs y Thymeleaf a la vez (pero todas las vistas han de ir dentro de la carpeta anteriormente mencionada)
templates/ShowPersonData.html
-> Construye una tabla dinámicamente que muestra todos los elementos 'Person' que hay en la base de datos mysql
templates/PersonCreateForm.html
-> Muestra un formulario de thymeleaf y especifica dinámicamente la url a la que se realiza la petición para insertar a una persona.
controllers/ThymeleafControllers
-> Clase controlador que permite mostrar las vistas asociadas y que le pasa la información a mostrar a estas por medio de la clase Model.
... More examples coming
RestTemplate, códigos de estado y peticiones a microservicios desde otros microservicios o el front.
controllers/SpringAPIConsumer
-> Urls que ser solicitadas realizan llamadas a una API y muestran el resultado de las mismas. Usan una instancia de RestTemplate para realizar las llamadas a APIs.
controllers/ComputerRestController
-> Código de la API REST que responde a las peticiones como tal