From 075760c38384abacf3a04d5d112154c95bfab417 Mon Sep 17 00:00:00 2001 From: Sergey Shestaka Date: Fri, 4 Aug 2023 17:56:56 +0200 Subject: [PATCH] New classes and jsp files created: 1. addCar.jsp 2. AddCarWithoutDriverController.java 3. addDriver.jsp 4. AddDriverController.java 5. addDriverToCar.jsp 6. AddDriverToCarController.java 7. addManufacturer.jsp 8. AddManufacturerController.java 9. DeleteCarController.java 10. DeleteDriverController.java 11. DeleteManufacturerController.java 12. getAllCars.jsp 13. GetAllCarsController.java 14. getAllDrivers.jsp 15. GetAllDriversController.java 16. getAllManufacturers.jsp 17. GetAllManufacturersController.java Files configured: 1. pom.xml 2. web.xml 3. ConnectionUtil.java --- pom.xml | 7 +- .../AddCarWithoutDriverController.java | 43 ++++++++++ .../mate/controller/AddDriverController.java | 33 ++++++++ .../controller/AddDriverToCarController.java | 45 +++++++++++ .../controller/AddManufacturerController.java | 33 ++++++++ .../mate/controller/DeleteCarController.java | 26 ++++++ .../controller/DeleteDriverController.java | 26 ++++++ .../DeleteManufacturerController.java | 27 +++++++ .../mate/controller/GetAllCarsController.java | 31 +++++++ .../controller/GetAllDriversController.java | 31 +++++++ .../GetAllManufacturersController.java | 32 ++++++++ src/main/java/mate/util/ConnectionUtil.java | 8 +- src/main/webapp/WEB-INF/views/cars/addCar.jsp | 23 ++++++ .../WEB-INF/views/cars/addDriverToCar.jsp | 28 +++++++ .../webapp/WEB-INF/views/cars/getAllCars.jsp | 34 ++++++++ .../WEB-INF/views/drivers/addDriver.jsp | 16 ++++ .../WEB-INF/views/drivers/getAllDrivers.jsp | 30 +++++++ .../views/manufacturers/addManufacturer.jsp | 16 ++++ .../manufacturers/getAllManufacturers.jsp | 31 +++++++ src/main/webapp/web.xml | 80 +++++++++++++++++++ 20 files changed, 595 insertions(+), 5 deletions(-) create mode 100644 src/main/java/mate/controller/AddCarWithoutDriverController.java create mode 100644 src/main/java/mate/controller/AddDriverController.java create mode 100644 src/main/java/mate/controller/AddDriverToCarController.java create mode 100644 src/main/java/mate/controller/AddManufacturerController.java create mode 100644 src/main/java/mate/controller/DeleteCarController.java create mode 100644 src/main/java/mate/controller/DeleteDriverController.java create mode 100644 src/main/java/mate/controller/DeleteManufacturerController.java create mode 100644 src/main/java/mate/controller/GetAllCarsController.java create mode 100644 src/main/java/mate/controller/GetAllDriversController.java create mode 100644 src/main/java/mate/controller/GetAllManufacturersController.java create mode 100644 src/main/webapp/WEB-INF/views/cars/addCar.jsp create mode 100644 src/main/webapp/WEB-INF/views/cars/addDriverToCar.jsp create mode 100644 src/main/webapp/WEB-INF/views/cars/getAllCars.jsp create mode 100644 src/main/webapp/WEB-INF/views/drivers/addDriver.jsp create mode 100644 src/main/webapp/WEB-INF/views/drivers/getAllDrivers.jsp create mode 100644 src/main/webapp/WEB-INF/views/manufacturers/addManufacturer.jsp create mode 100644 src/main/webapp/WEB-INF/views/manufacturers/getAllManufacturers.jsp diff --git a/pom.xml b/pom.xml index 8f7cf6b7d..5e89b0794 100644 --- a/pom.xml +++ b/pom.xml @@ -23,7 +23,7 @@ mysql mysql-connector-java - 8.0.22 + 8.0.24 javax.servlet @@ -31,6 +31,11 @@ 4.0.1 provided + + jstl + jstl + 1.2 + diff --git a/src/main/java/mate/controller/AddCarWithoutDriverController.java b/src/main/java/mate/controller/AddCarWithoutDriverController.java new file mode 100644 index 000000000..0fc96cf2f --- /dev/null +++ b/src/main/java/mate/controller/AddCarWithoutDriverController.java @@ -0,0 +1,43 @@ +package mate.controller; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import mate.lib.Injector; +import mate.model.Car; +import mate.model.Manufacturer; +import mate.service.CarService; +import mate.service.ManufacturerService; + +public class AddCarWithoutDriverController extends HttpServlet { + private static final Injector injector = Injector.getInstance("mate"); + private static final ManufacturerService manufacturerService + = (ManufacturerService) injector.getInstance(ManufacturerService.class); + private static final CarService carService + = (CarService) injector.getInstance(CarService.class); + + @Override + protected void doGet(HttpServletRequest req, HttpServletResponse resp) + throws ServletException, IOException { + List allManufacturers = manufacturerService.getAll(); + req.setAttribute("allManufacturers", allManufacturers); + req.getRequestDispatcher("/WEB-INF/views/cars/addCar.jsp") + .forward(req, resp); + } + + @Override + protected void doPost(HttpServletRequest req, HttpServletResponse resp) + throws ServletException, IOException { + Car car = new Car(); + car.setModel(req.getParameter("carModel")); + car.setManufacturer(manufacturerService + .get(Long.valueOf(req.getParameter("manufacturer")))); + car.setDrivers(new ArrayList<>()); + carService.create(car); + resp.sendRedirect(req.getContextPath() + "/cars/add"); + } +} diff --git a/src/main/java/mate/controller/AddDriverController.java b/src/main/java/mate/controller/AddDriverController.java new file mode 100644 index 000000000..31f057ce3 --- /dev/null +++ b/src/main/java/mate/controller/AddDriverController.java @@ -0,0 +1,33 @@ +package mate.controller; + +import java.io.IOException; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import mate.lib.Injector; +import mate.model.Driver; +import mate.service.DriverService; + +public class AddDriverController extends HttpServlet { + private static final Injector injector = Injector.getInstance("mate"); + private final DriverService driverService + = (DriverService) injector.getInstance(DriverService.class); + + @Override + protected void doGet(HttpServletRequest req, HttpServletResponse resp) + throws ServletException, IOException { + req.getRequestDispatcher("/WEB-INF/views/drivers/addDriver.jsp") + .forward(req,resp); + } + + @Override + protected void doPost(HttpServletRequest req, HttpServletResponse resp) + throws ServletException, IOException { + Driver driver = new Driver(); + driver.setName(req.getParameter("drivername")); + driver.setLicenseNumber(req.getParameter("licensenumber")); + driverService.create(driver); + resp.sendRedirect(req.getContextPath() + "/drivers/add"); + } +} diff --git a/src/main/java/mate/controller/AddDriverToCarController.java b/src/main/java/mate/controller/AddDriverToCarController.java new file mode 100644 index 000000000..03bdc4521 --- /dev/null +++ b/src/main/java/mate/controller/AddDriverToCarController.java @@ -0,0 +1,45 @@ +package mate.controller; + +import java.io.IOException; +import java.util.List; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import mate.lib.Injector; +import mate.model.Car; +import mate.model.Driver; +import mate.service.CarService; +import mate.service.DriverService; +import mate.service.ManufacturerService; + +public class AddDriverToCarController extends HttpServlet { + private static final Injector injector = Injector.getInstance("mate"); + private static final ManufacturerService manufacturerService + = (ManufacturerService) injector.getInstance(ManufacturerService.class); + private static final CarService carService + = (CarService) injector.getInstance(CarService.class); + private static final DriverService driverService + = (DriverService) injector.getInstance(DriverService.class); + + @Override + protected void doGet(HttpServletRequest req, HttpServletResponse resp) + throws ServletException, IOException { + List allCars = carService.getAll(); + List allDrivers = driverService.getAll(); + req.setAttribute("allCars", allCars); + req.setAttribute("allDrivers", allDrivers); + req.getRequestDispatcher("/WEB-INF/views/cars/addDriverToCar.jsp") + .forward(req, resp); + } + + @Override + protected void doPost(HttpServletRequest req, HttpServletResponse resp) + throws ServletException, IOException { + Car car = carService.get(Long.valueOf(req.getParameter("car"))); + Driver driver = driverService.get(Long.valueOf(req.getParameter("driver"))); + car.getDrivers().add(driver); + carService.update(car); + resp.sendRedirect(req.getContextPath() + "/cars/add/driver"); + } +} diff --git a/src/main/java/mate/controller/AddManufacturerController.java b/src/main/java/mate/controller/AddManufacturerController.java new file mode 100644 index 000000000..783a60580 --- /dev/null +++ b/src/main/java/mate/controller/AddManufacturerController.java @@ -0,0 +1,33 @@ +package mate.controller; + +import java.io.IOException; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import mate.lib.Injector; +import mate.model.Manufacturer; +import mate.service.ManufacturerService; + +public class AddManufacturerController extends HttpServlet { + private static final Injector injector = Injector.getInstance("mate"); + private static final ManufacturerService manufacturerService + = (ManufacturerService) injector.getInstance(ManufacturerService.class); + + @Override + protected void doGet(HttpServletRequest req, HttpServletResponse resp) + throws ServletException, IOException { + req.getRequestDispatcher("/WEB-INF/views/manufacturers/addManufacturer.jsp") + .forward(req, resp); + } + + @Override + protected void doPost(HttpServletRequest req, HttpServletResponse resp) + throws ServletException, IOException { + Manufacturer manufacturer = new Manufacturer(); + manufacturer.setName(req.getParameter("manufacturerName")); + manufacturer.setCountry(req.getParameter("manufacturerCountry")); + manufacturerService.create(manufacturer); + resp.sendRedirect(req.getContextPath() + "/manufacturers/add"); + } +} diff --git a/src/main/java/mate/controller/DeleteCarController.java b/src/main/java/mate/controller/DeleteCarController.java new file mode 100644 index 000000000..123222817 --- /dev/null +++ b/src/main/java/mate/controller/DeleteCarController.java @@ -0,0 +1,26 @@ +package mate.controller; + +import java.io.IOException; +import java.util.List; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import mate.lib.Injector; +import mate.model.Car; +import mate.service.CarService; + +public class DeleteCarController extends HttpServlet { + private static final Injector injector = Injector.getInstance("mate"); + private final CarService carService + = (CarService) injector.getInstance(CarService.class); + + @Override + protected void doGet(HttpServletRequest req, HttpServletResponse resp) + throws ServletException, IOException { + carService.delete(Long.valueOf(req.getParameter("id"))); + List allCars = carService.getAll(); + req.setAttribute("cars", allCars); + req.getRequestDispatcher("/WEB-INF/views/cars/getAllCars.jsp").forward(req, resp); + } +} diff --git a/src/main/java/mate/controller/DeleteDriverController.java b/src/main/java/mate/controller/DeleteDriverController.java new file mode 100644 index 000000000..ec02c9c47 --- /dev/null +++ b/src/main/java/mate/controller/DeleteDriverController.java @@ -0,0 +1,26 @@ +package mate.controller; + +import java.io.IOException; +import java.util.List; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import mate.lib.Injector; +import mate.model.Driver; +import mate.service.DriverService; + +public class DeleteDriverController extends HttpServlet { + private static final Injector injector = Injector.getInstance("mate"); + private final DriverService driverService + = (DriverService) injector.getInstance(DriverService.class); + + @Override + protected void doGet(HttpServletRequest req, HttpServletResponse resp) + throws ServletException, IOException { + driverService.delete(Long.valueOf(req.getParameter("id"))); + List allDrivers = driverService.getAll(); + req.setAttribute("drivers", allDrivers); + req.getRequestDispatcher("/WEB-INF/views/drivers/getAllDrivers.jsp").forward(req, resp); + } +} diff --git a/src/main/java/mate/controller/DeleteManufacturerController.java b/src/main/java/mate/controller/DeleteManufacturerController.java new file mode 100644 index 000000000..fd4cb6029 --- /dev/null +++ b/src/main/java/mate/controller/DeleteManufacturerController.java @@ -0,0 +1,27 @@ +package mate.controller; + +import java.io.IOException; +import java.util.List; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import mate.lib.Injector; +import mate.model.Manufacturer; +import mate.service.ManufacturerService; + +public class DeleteManufacturerController extends HttpServlet { + private static final Injector injector = Injector.getInstance("mate"); + private final ManufacturerService manufacturerService + = (ManufacturerService) injector.getInstance(ManufacturerService.class); + + @Override + protected void doGet(HttpServletRequest req, HttpServletResponse resp) + throws ServletException, IOException { + manufacturerService.delete(Long.valueOf(req.getParameter("id"))); + List allManufacturers = manufacturerService.getAll(); + req.setAttribute("manufacturers", allManufacturers); + req.getRequestDispatcher("/WEB-INF/views/manufacturers/getAllManufacturers.jsp") + .forward(req, resp); + } +} diff --git a/src/main/java/mate/controller/GetAllCarsController.java b/src/main/java/mate/controller/GetAllCarsController.java new file mode 100644 index 000000000..7e58d1f91 --- /dev/null +++ b/src/main/java/mate/controller/GetAllCarsController.java @@ -0,0 +1,31 @@ +package mate.controller; + +import java.io.IOException; +import java.util.List; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import mate.lib.Injector; +import mate.model.Car; +import mate.service.CarService; + +public class GetAllCarsController extends HttpServlet { + private static final Injector injector = Injector.getInstance("mate"); + private final CarService carService + = (CarService) injector.getInstance(CarService.class); + + @Override + protected void doGet(HttpServletRequest req, HttpServletResponse resp) + throws ServletException, IOException { + List allCars = carService.getAll(); + req.setAttribute("cars", allCars); + req.getRequestDispatcher("/WEB-INF/views/cars/getAllCars.jsp").forward(req, resp); + } + + @Override + protected void doPost(HttpServletRequest req, HttpServletResponse resp) + throws ServletException, IOException { + resp.sendRedirect(req.getContextPath() + "/cars/all"); + } +} diff --git a/src/main/java/mate/controller/GetAllDriversController.java b/src/main/java/mate/controller/GetAllDriversController.java new file mode 100644 index 000000000..02281a5f8 --- /dev/null +++ b/src/main/java/mate/controller/GetAllDriversController.java @@ -0,0 +1,31 @@ +package mate.controller; + +import java.io.IOException; +import java.util.List; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import mate.lib.Injector; +import mate.model.Driver; +import mate.service.DriverService; + +public class GetAllDriversController extends HttpServlet { + private static final Injector injector = Injector.getInstance("mate"); + private final DriverService driverService + = (DriverService) injector.getInstance(DriverService.class); + + @Override + protected void doGet(HttpServletRequest req, HttpServletResponse resp) + throws ServletException, IOException { + List allDrivers = driverService.getAll(); + req.setAttribute("drivers", allDrivers); + req.getRequestDispatcher("/WEB-INF/views/drivers/getAllDrivers.jsp").forward(req, resp); + } + + @Override + protected void doPost(HttpServletRequest req, HttpServletResponse resp) + throws ServletException, IOException { + resp.sendRedirect(req.getContextPath() + "/drivers/all"); + } +} diff --git a/src/main/java/mate/controller/GetAllManufacturersController.java b/src/main/java/mate/controller/GetAllManufacturersController.java new file mode 100644 index 000000000..bf85f2d17 --- /dev/null +++ b/src/main/java/mate/controller/GetAllManufacturersController.java @@ -0,0 +1,32 @@ +package mate.controller; + +import java.io.IOException; +import java.util.List; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import mate.lib.Injector; +import mate.model.Manufacturer; +import mate.service.ManufacturerService; + +public class GetAllManufacturersController extends HttpServlet { + private static final Injector injector = Injector.getInstance("mate"); + private final ManufacturerService manufacturerService + = (ManufacturerService) injector.getInstance(ManufacturerService.class); + + @Override + protected void doGet(HttpServletRequest req, HttpServletResponse resp) + throws ServletException, IOException { + List allManufacturers = manufacturerService.getAll(); + req.setAttribute("manufacturers", allManufacturers); + req.getRequestDispatcher("/WEB-INF/views/manufacturers/getAllManufacturers.jsp") + .forward(req, resp); + } + + @Override + protected void doPost(HttpServletRequest req, HttpServletResponse resp) + throws ServletException, IOException { + resp.sendRedirect(req.getContextPath() + "/manufacturers/all"); + } +} diff --git a/src/main/java/mate/util/ConnectionUtil.java b/src/main/java/mate/util/ConnectionUtil.java index a9249b004..9ac195927 100644 --- a/src/main/java/mate/util/ConnectionUtil.java +++ b/src/main/java/mate/util/ConnectionUtil.java @@ -6,10 +6,10 @@ import java.util.Properties; public class ConnectionUtil { - private static final String URL = "YOUR DATABASE URL"; - private static final String USERNAME = "YOUR USERNAME"; - private static final String PASSWORD = "YOUR PASSWORD"; - private static final String JDBC_DRIVER = "YOUR DRIVER"; + private static final String URL = "jdbc:mysql://localhost:3306/taxi?serverTimezone=UTC"; + private static final String USERNAME = "root"; + private static final String PASSWORD = "12344321"; + private static final String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver"; static { try { diff --git a/src/main/webapp/WEB-INF/views/cars/addCar.jsp b/src/main/webapp/WEB-INF/views/cars/addCar.jsp new file mode 100644 index 000000000..84d6fcfd7 --- /dev/null +++ b/src/main/webapp/WEB-INF/views/cars/addCar.jsp @@ -0,0 +1,23 @@ +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ page contentType="text/html;charset=UTF-8" language="java" %> + + + Add new Car + + +

Please fill out the form below to add a new Car:

+
+ Car Model
+ + Select a Category:  + +

+ +
+ + + diff --git a/src/main/webapp/WEB-INF/views/cars/addDriverToCar.jsp b/src/main/webapp/WEB-INF/views/cars/addDriverToCar.jsp new file mode 100644 index 000000000..2227b23ab --- /dev/null +++ b/src/main/webapp/WEB-INF/views/cars/addDriverToCar.jsp @@ -0,0 +1,28 @@ +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ page contentType="text/html;charset=UTF-8" language="java" %> + + + Add Driver To Car + + +

Please fill out the form below to link the Driver with the Car:

+
+ Select a Car:  + +
+ Select a Driver:  + +

+ +
+ + + diff --git a/src/main/webapp/WEB-INF/views/cars/getAllCars.jsp b/src/main/webapp/WEB-INF/views/cars/getAllCars.jsp new file mode 100644 index 000000000..bb1645da7 --- /dev/null +++ b/src/main/webapp/WEB-INF/views/cars/getAllCars.jsp @@ -0,0 +1,34 @@ +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ page contentType="text/html;charset=UTF-8" language="java" %> + + + Get All Carrs + + +

List of all Cars:

+ + + + + + + + + + + + + + + + +
IDMODELMANUFACTURERDRIVERS
+ + REMOVE CAR
+
+
+ +
+ + + diff --git a/src/main/webapp/WEB-INF/views/drivers/addDriver.jsp b/src/main/webapp/WEB-INF/views/drivers/addDriver.jsp new file mode 100644 index 000000000..848df9a56 --- /dev/null +++ b/src/main/webapp/WEB-INF/views/drivers/addDriver.jsp @@ -0,0 +1,16 @@ +<%@ page contentType="text/html;charset=UTF-8" language="java" %> + + + Add a new Driver + + +

Please fill out the form below to add a new Driver:

+ +
+ Driver name
+ License number

+ +
+ + + diff --git a/src/main/webapp/WEB-INF/views/drivers/getAllDrivers.jsp b/src/main/webapp/WEB-INF/views/drivers/getAllDrivers.jsp new file mode 100644 index 000000000..8ffe7a473 --- /dev/null +++ b/src/main/webapp/WEB-INF/views/drivers/getAllDrivers.jsp @@ -0,0 +1,30 @@ +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ page contentType="text/html;charset=UTF-8" language="java" %> + + + Get All Drivers + + +

List of all Drivers:

+ + + + + + + + + + + + + + +
IDNAMELICENSE NUMBER
delete drievr
+
+
+ +
+ + + diff --git a/src/main/webapp/WEB-INF/views/manufacturers/addManufacturer.jsp b/src/main/webapp/WEB-INF/views/manufacturers/addManufacturer.jsp new file mode 100644 index 000000000..7c9c83d17 --- /dev/null +++ b/src/main/webapp/WEB-INF/views/manufacturers/addManufacturer.jsp @@ -0,0 +1,16 @@ +<%@ page contentType="text/html;charset=UTF-8" language="java" %> + + + Add a new Manufacturer + + +

Please fill out the form below to add a new Manufacturer:

+ +
+ Manufacturer name
+ Manufacturer country

+ +
+ + + diff --git a/src/main/webapp/WEB-INF/views/manufacturers/getAllManufacturers.jsp b/src/main/webapp/WEB-INF/views/manufacturers/getAllManufacturers.jsp new file mode 100644 index 000000000..bed7f7967 --- /dev/null +++ b/src/main/webapp/WEB-INF/views/manufacturers/getAllManufacturers.jsp @@ -0,0 +1,31 @@ +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ page contentType="text/html;charset=UTF-8" language="java" %> + + + Get All Manufacturers + + +

List of all Manufacturers:

+ + + + + + + + + + + + + + +
IDNAMECOUNTRY
+ delete manufacturer
+
+
+ +
+ + + diff --git a/src/main/webapp/web.xml b/src/main/webapp/web.xml index 00afaeb93..4872d9150 100644 --- a/src/main/webapp/web.xml +++ b/src/main/webapp/web.xml @@ -7,8 +7,88 @@ index mate.controller.IndexController + + addDriver + mate.controller.AddDriverController + + + getAllDrivers + mate.controller.GetAllDriversController + + + addManufacturer + mate.controller.AddManufacturerController + + + addCar + mate.controller.AddCarWithoutDriverController + + + addDriverToCar + mate.controller.AddDriverToCarController + + + deleteDriver + mate.controller.DeleteDriverController + + + getAllManufacturers + mate.controller.GetAllManufacturersController + + + deleteManufacturer + mate.controller.DeleteManufacturerController + + + getAllCars + mate.controller.GetAllCarsController + + + deleteCar + mate.controller.DeleteCarController + + + deleteCar + /cars/delete + + + getAllCars + /cars/all + + + deleteManufacturer + /manufacturers/delete + + + getAllManufacturers + /manufacturers/all + index /index + + addDriver + /drivers/add + + + getAllDrivers + /drivers/all + + + addManufacturer + /manufacturers/add + + + addCar + /cars/add + + + addDriverToCar + /cars/add/driver + + + deleteDriver + /drivers/delete +