Professional Documents
Culture Documents
Assignment Answer
Assignment Answer
Assignment 1:
1: Creating a Database
Let us start by creating a test database. I Named it "joy_sinha"
use joy_sinha;
db.createCollection("cars");
db.cars.insertMany([
{
"car_name" : "Audi",
"date_of_sale" : "11 Jan 2019",
"model_no" : "A3"
"price" : "700000"
},
{
"car_name" : "XYZ",
"date_of_sale" : "10 Jan 2018",
"model_no" : "ABC",
"price" : "900000"
},
{
"car_name" : "ABC",
"date_of_sale" : "10 Jan 2018",
"model_no" : "XYZ",
"price" : "1000000"
}
]);
code:
package io.codementor.gtommee.joy_sinha.models;
import org.bson.types.ObjectId;
import org.springframework.data.annotation.Id;
// Constructors
public Cars() {}
Code:
package io.codementor.gtommee.rest_tutorial.repositories;
import io.codementor.gtommee.rest_tutorial.models.Pets;
import org.bson.types.ObjectId;
import
org.springframework.data.mongodb.repository.MongoRepository;
MongoDB instance:
spring.data.mongodb.host=[host]
spring.data.mongodb.port=[port]
spring.data.mongodb.authentication-
database=[authentication_database]
spring.data.mongodb.username=[username]
spring.data.mongodb.password=[password]
spring.data.mongodb.database=joy_sinha
Creating REST Controller
Spring should now be able to connect to MongoDB
Code:
package io.codementor.gtommee.joy_sinha;
import io.codementor.gtommee.joy_sinha.models.Cars;
import
io.codementor.gtommee.joy_sinha.repositories.CarsRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import javax.validation.Valid;
import java.util.List;
@RestController
@RequestMapping("/cars")
public class CarsController {
@Autowired
private CarsRepository repository;
}
Completed Controller:
package io.codementor.gtommee.joy_sinha;
import io.codementor.gtommee.joy_sinha.models.Cars;
import
io.codementor.gtommee.joy_sinha.repositories.CarsRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import javax.validation.Valid;
import java.util.List;
@RestController
@RequestMapping("/cars")
public class CarsController {
@Autowired
private CarsRepository repository;
Returns:
"_id": "5aecef5b6d55754834124df3",
"car_name": "IJK",
"model": "ABC"",
"price": "2000000",
PUT 'http://localhost:8080/cars/5aecef5b6d55754834124df3'
Returns:
empty response
GET 'http://localhost:8080/cars/5aecef5b6d55754834124df3'
Returns:
"_id": "5aecef5b6d55754834124df3",
"car_name": "IJK",
"model": "ABC"",
"price": "2000000",
DELETE 'http://localhost:8080/cars/5aecef5b6d55754834124df3'
Returns:
empty response
GET 'http://localhost:8080/cars'
Returns:
"_id": "5aeccb0a18365ba07414356c",
"car_name": "Audi",
"date_of_sale": "11 Jan 2019",
"model": "A3",
"price": "700000"
},
"_id": "5aeccb0a18365ba07414356c",
"car_name": "XYZ",
"model": "ABC",
"price": "900000"
},
"_id": "5aeccb0a18365ba07414356c",
"car_name": "ABC",
"model": "XYZ",
"price": "1000000"
},
]