diff --git a/pom.xml b/pom.xml
index db6c2c51..969f3632 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,89 +1,173 @@
-
-
- 4.0.0
-
- org.springframework.boot
- spring-boot-starter-parent
- 3.0.5
-
-
- com.bootexample4
- products
- 0.0.1-SNAPSHOT
- products
- Demo project for Spring Boot
-
- 17
-
-
-
- org.springframework.boot
- spring-boot-starter-data-jpa
-
-
-
- org.mock-server
- mockserver-netty
- 3.10.8
-
-
- org.mock-server
- mockserver-client-java
- 3.10.8
-
-
- org.springframework.boot
- spring-boot-starter-web
-
-
-
- com.h2database
- h2
- runtime
-
-
- org.springframework.boot
- spring-boot-starter-test
- test
-
-
-
- io.cucumber
- cucumber-spring
- 7.0.0
- test
+
+
+ 4.0.0
+
+ org.springframework.boot
+ spring-boot-starter-parent
+ 3.0.5
+
+
+
+ com.bootexample4
+ products
+ 0.0.1-SNAPSHOT
+ products
+ Demo project for Spring Boot
+
+ 17
+
+
+
+ org.springframework.boot
+ spring-boot-starter-data-jpa
+
+
+
+ org.mock-server
+ mockserver-netty
+ 3.10.8
+
+
+ org.mock-server
+ mockserver-client-java
+ 3.10.8
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+ com.h2database
+ h2
+ runtime
+
+
+ org.springframework.boot
+ spring-boot-starter-test
+ test
+
+
+
+ io.cucumber
+ cucumber-spring
+ 7.0.0
+ test
- io.cucumber
- cucumber-java
- 7.0.0
- test
+ io.cucumber
+ cucumber-java
+ 7.0.0
+ test
- io.cucumber
- cucumber-junit
- 7.0.0
- test
+ io.cucumber
+ cucumber-junit
+ 7.0.0
+ test
- org.assertj
- assertj-core
- 3.19.0
- test
-
-
-
-
-
-
- org.springframework.boot
- spring-boot-maven-plugin
-
-
-
-
-
+ org.assertj
+ assertj-core
+ 3.19.0
+ test
+
+
+ org.junit.vintage
+ junit-vintage-engine
+ 5.2.0
+
+
+
+ io.spring.javaformat
+ spring-javaformat-formatter
+ 0.0.40
+
+
+
+ org.springframework
+ spring-web
+ 5.3.8
+ compile
+
+
+
+ org.springframework
+ spring-context
+ 5.3.8
+ compile
+
+
+
+ org.springframework
+ spring-aop
+ 5.3.8
+ compile
+
+
+
+ org.springframework
+ spring-beans
+ 5.3.8
+ compile
+
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+ io.spring.javaformat
+ spring-javaformat-maven-plugin
+ 0.0.40
+
+
+
+ org.jacoco
+ jacoco-maven-plugin
+ 0.8.7
+
+
+
+ prepare-agent
+
+
+
+ report
+ test
+
+ report
+
+
+ coverageReport
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-surefire-report-plugin
+ 3.2.5
+
+ testReport
+
+
+
+
+ org.apache.maven.plugins
+ maven-site-plugin
+ 2.1
+
+ testReport
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/java/com/bootexample4/products/controller/ProductController.java b/src/main/java/com/bootexample4/products/controller/ProductController.java
index 0d945087..1f7f8133 100644
--- a/src/main/java/com/bootexample4/products/controller/ProductController.java
+++ b/src/main/java/com/bootexample4/products/controller/ProductController.java
@@ -13,44 +13,43 @@
@RequestMapping("/api/products")
public class ProductController {
- @Autowired
- private ProductRepository productRepository;
-
- @GetMapping
- public List getAllProducts() {
- return productRepository.findAll();
- }
-
- @PostMapping
- public Product createProduct(@RequestBody Product product) {
- return productRepository.save(product);
- }
-
- @GetMapping("/{id}")
- public ResponseEntity getProductById(@PathVariable Long id) {
- return productRepository.findById(id)
- .map(product -> ResponseEntity.ok().body(product))
- .orElse(ResponseEntity.notFound().build());
- }
-
- @PutMapping("/{id}")
- public ResponseEntity updateProduct(@PathVariable Long id, @RequestBody Product product) {
- return productRepository.findById(id)
- .map(existingProduct -> {
- existingProduct.setName(product.getName());
- existingProduct.setDescription(product.getDescription());
- existingProduct.setPrice(product.getPrice());
- Product updatedProduct = productRepository.save(existingProduct);
- return ResponseEntity.ok().body(updatedProduct);
- }).orElse(ResponseEntity.notFound().build());
- }
-
- @DeleteMapping("/{id}")
- public ResponseEntity