Lab 7
[valid 2025-2026]
Spring Boot
Continue the application created at lab 6, integrating the following functionalities:
- Implement REST services that offer CRUD operations for the resources stored in the database (movies, actors, etc).
The main specifications of the application are:
Compulsory (1p)
- Create a Spring Boot project.
- Create a REST controller containing a method for:
- obtaining the list of movies, via a HTTP GET request.
- Test your service using Postman,
RestMan, or a similar tool.
Homework (2p)
- Create REST services for:
- adding a new movie, via a HTTP POST request.
- modifying the properties of a movie, via a HTTP PUT request.
- changing the score of a movie, via a HTTP PATCH request.
- deleting a movie, via a HTTP DELETE request.
- Create a global exception handler.
- Create a simple client application that invokes the services above, using the support offered by Spring Boot.
- Document your services using Swagger or a similar tool.
Advanced (2p)
- Create a new service that determines a list of movies subject to the following constraints:
- the movies must be unrelated (see previous lab) and
- the number of movies in the list must be greater than a given parameter.
In order to solve the problem use a constraint programming solver,
such as Choco-Solver or OR-Tools.
- Secure your service(s) using 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.