Restful CRUD API to maintain movies and actors relationship using Spring Boot, Mysql, JPA and Hibernate.
-
Java - 1.8.x
-
Maven - 3.x.x
-
Mysql - 5.x.x
1. Clone the application
git clone https://github.com/Piyush-Karira/Movie-API.git
2. Create Mysql database
create database <databse name>
3. Change mysql username and password as per your installation
-
open
src/main/resources/application.properties
-
change
spring.datasource.username
andspring.datasource.password
as per your mysql installation -
change
spring.datasource.url
according to the database name.
spring.datasource.url=jdbc:mysql://localhost:3306/<database_name>?createDatabaseIfNotExist=true&useSSL=false
4. Build and run the app using maven
You can run the app without packaging it using -
mvn spring-boot:run
Alternatively, you can run the app directly from IDE. The app will start running at http://localhost:8080.
The app defines following CRUD APIs for the given resources:
1. Actor
GET /actors
POST /actors
GET /actors/{actorId}
PUT /actors/{actorId}
DELETE /actors/{actorId}
2. Movie
GET /movies
POST /movies
GET /movies/{movieId}
PUT /movies/{movieId}
DELETE /movies/{movieId}
3. Association between Actors and Movies
PUT /actors/{actorId}/movies
DELETE /actors/{actorId}/movies
PUT /movies/{movieId}/actors
DELETE /movies/{movieId}/actors
Example of Request body for association, adding movies to a actor
PUT /actors/{actorId}/movies
{
"movies" : [] //list of movieIds
}
You can test them using postman or any other rest client.