myBondFlix API

bond

Business Logic

Register a user

URL

/users

HTTP Method

POST

Request Body Data Format

A JSON object holding data about a user to register:


{

"Username": "tommy1992"

"First_Name": "Tom"

"Last_Name": "Smith"

"Email": "tom.smith@gmail.com"

"DOB": "08/04/87"

"Password": "Chocolate22"

}

Response Body Data Format

A JSON object holding data about a user to register:


{

"Username": "tommy1992"

"First_Name": "Tom"

"Last_Name": "Smith"

"Email": "tom.smith@gmail.com"

"DOB": "08/04/87"

"Password": "Chocolate22"

}

Business Logic

Get user information

URL

/users[username]

HTTP Method

GET

Request Body Data Format

None

Response Body Data Format

A JSON object holding data about a user to register:


{

"Username": "tommy1992"

"First_Name": "Tom"

"Last_Name": "Smith"

"Email": "tom.smith@gmail.com"

"DOB": "08/04/87"

"Password": "Chocolate22"

}

Business Logic

Update user information

URL

/users[username]

HTTP Method

PUT

Request Body Data Format

A JSON object holding data about a user to register:


{

"Username": "tommy1992"

"First_Name": "Tom"

"Last_Name": "Smith"

"Email": "tom.smith@gmail.com"

"DOB": "08/04/87"

"Password": "Chocolate22"

}

Response Body Data Format

A JSON object holding data about a user to register:


{

"Username": "tommy1992"

"First_Name": "Tom"

"Last_Name": "Smith"

"Email": "tom.smith@gmail.com"

"DOB": "08/04/87"

"Password": "Chocolate22"

}

Business Logic

Delete user

URL

/users[username]

HTTP Method

Delete

Request Body Data Format

None

Response Body Data Format

None

Business Logic

Get a list of James Bond films

URL

/movies

HTTP Method

GET

Request Body Data Format

None

Response Body Data Format

A JSON object holding data about all the movies

Business Logic

Get data about a single film by title

URL

/movies[title]

HTTP Method

GET

Request Body Data Format

None

Response Body Data Format

A JSON object holding data about a single James Bond film. Example:

{

"title: 'Casino Royale',

director: 'Martin Campbell',

actor: 'Daniel Craig'

year: '2006'

}

Business Logic

Get data about a director by directors name

URL

/movies/director/[director name]

HTTP Method

GET

Request Body Data Format

None

Response Body Data Format

A JSON object holding data about a single James Bond film. Example:

{

"name: 'Martin Campbell',

age: '79',

DOB: '24/10/1943'

}

Business Logic

Users ability to add films to their favourites via the films id

URL

/users/[username]/movies/[id]

HTTP Method

POST

Request Body Data Format

None

Response Body Data Format

A JSON object with the updated information. Example:

{

"_id": "65034384a926abd2124b0655",
"Username": "Tom Smith",
"FavouriteFilms": [64f897d28b23c0576f5ec9d3],
"DOB": "1987-08-01T00:00:00.000Z",
"Email": "apple@gmail.com",
"Password": "Chocolate22",
"__v": 0

}

Business Logic

Users ability to add films to their favourites via the films id

URL

/users/[username]/movies/[id]

HTTP Method

DELETE

Request Body Data Format

None

Response Body Data Format

A JSON object with the updated information. Example:

{

"_id": "65034384a926abd2124b0655",
"Username": "Tom Smith",
"FavouriteFilms": [],
"DOB": "1987-08-01T00:00:00.000Z",
"Email": "apple@gmail.com",
"Password": "Chocolate22",
"__v": 0

}