Description
Continue the application created at the previous lab integrating the following functionalities:
- Create a database in order to store the persons and their social network
- Implement REST services needed to comunicate with the database (CRUD).
The main specifications of the application are:
Compulsory (1p)
- Create a Spring Boot project containing the REST services for comunicating with the database.
- Create the class Person.
- Create a REST controller containing methods for:
- obtaining the list of the persons, via a HTTP GET request.
- adding a new person in the database, via a HTTP POST request. o modifying the name of a person, via a HTTP PUT request.
- deleting a person, via a HTTP DELETE request.
- Test your services using the browser and/or Postman.
Optional (2p)
- Create REST services for inserting and reading relationships.
- Create services for determining the first k most/least connected (popular) persons in the network.
- Integrate the services into your previous project, invoking them using the support offered by Spring Boot.
- Handle the exceptions using a RestControllerAdvice.
Bonus (2p)
- Write a service that determines in linear time all persons who are so important to the social network such that, if one of them were eliminated, the network would become disconnected.
- Document your services using Swagger or a similar tool.
- Secure your services using the HTTPS protocol and JSON Web Tokens
Resources
Objectives
- Understand the concept of application framework.
- Get familiar with Spring Boot.
- Understant REST software architectural style.
- Write programs that communicate with other programs on the network, using HTTP.









