Imdb database Service is a sample application that performs operations via Restful Webservices.
It exposes 5 endpoints as following list as follows :
imdb Service :
- GET localhost:8090/api/queries/genresBestSellingMovies (Gets a genre name as a string and returns best-selling movie title on each year for that genre)
- GET localhost:8090/api/queries/moviesWithOneAlivePersonAsWriterAndDirector (returns list of movies in which both writer and director are same person and alive)
- GET localhost:8090/api/queries/commonMoviesOfTwoActors (Gets two persons unique id and returns movies that both of them played in)
- POST localhost:8090/api/db/import (it's smart importer endpoint. You can upload each dataset file, it recognise it, and imports it.)
- GET localhost:8090/actuator/metrics/http.server.requests?tag=uri:endpoint_address {example : api/db/import} (endpoint metrics such as request count)
It is a docker based application. Running below command in project's directory builds single running container:
docker-compose up
Note : It may take time, because it needs to download all dependencies of the project.
This application follows OpenAPI specification in API documentation. Thanks to SwaggerUI, you can see endpoints documentation in a graphical user interface and try their functionality and see the response. After running the containers, you can access the application links as :
- SwaggerUI : http://localhost:8090/swagger-ui.html
To Test the endpoints please go to http://localhost:8080/swagger-ui.html. It help you to read endpoints documentation and give you an UI to try them out.
You can find miniDataset of imdb in project root directory