From dae276c5c31f18758c9999ba61d5df492b501a66 Mon Sep 17 00:00:00 2001 From: vimal-tech-starter Date: Mon, 6 Apr 2026 06:50:16 +0530 Subject: [PATCH] fix: logging + endpoint alignment + GET support for contacts Signed-off-by: vimal-tech-starter --- .../contactapi/controller/ContactController.java | 7 ++++++- .../exception/GlobalExceptionHandler.java | 5 +++-- .../contactapi/service/ContactService.java | 5 +++++ src/main/resources/application-prod.yml | 16 +++++++--------- 4 files changed, 21 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/vimaltech/contactapi/controller/ContactController.java b/src/main/java/com/vimaltech/contactapi/controller/ContactController.java index 4679425..b47c6de 100644 --- a/src/main/java/com/vimaltech/contactapi/controller/ContactController.java +++ b/src/main/java/com/vimaltech/contactapi/controller/ContactController.java @@ -12,7 +12,7 @@ import java.time.LocalDateTime; @RestController -@RequestMapping("/api/v1/contact") +@RequestMapping("/api/v1/contacts") @RequiredArgsConstructor public class ContactController { @@ -32,4 +32,9 @@ public ResponseEntity submitContact( return ResponseEntity.status(HttpStatus.CREATED).body(response); } + + @GetMapping + public ResponseEntity getAllContacts() { + return ResponseEntity.ok(contactService.getAllContacts()); + } } \ No newline at end of file diff --git a/src/main/java/com/vimaltech/contactapi/exception/GlobalExceptionHandler.java b/src/main/java/com/vimaltech/contactapi/exception/GlobalExceptionHandler.java index bc6d6a7..52860c7 100644 --- a/src/main/java/com/vimaltech/contactapi/exception/GlobalExceptionHandler.java +++ b/src/main/java/com/vimaltech/contactapi/exception/GlobalExceptionHandler.java @@ -40,8 +40,9 @@ public ResponseEntity handleValidationException( @ExceptionHandler(Exception.class) public ResponseEntity handleGenericException(Exception ex) { - // 🔥 CRITICAL LINE (THIS WAS MISSING) - log.error("Unhandled exception occurred", ex); + log.error("Unhandled exception occurred: {}", ex.getMessage(), ex); + + ex.printStackTrace(); // 🔥 TEMPORARY DEBUG (force output) ApiResponse response = new ApiResponse( false, diff --git a/src/main/java/com/vimaltech/contactapi/service/ContactService.java b/src/main/java/com/vimaltech/contactapi/service/ContactService.java index 1791d26..39bfd97 100644 --- a/src/main/java/com/vimaltech/contactapi/service/ContactService.java +++ b/src/main/java/com/vimaltech/contactapi/service/ContactService.java @@ -7,6 +7,7 @@ import org.springframework.stereotype.Service; import java.time.LocalDateTime; +import java.util.List; @Service @RequiredArgsConstructor @@ -26,4 +27,8 @@ public void processContact(ContactRequest request) { contactRepository.save(inquiry); } + + public List getAllContacts() { + return contactRepository.findAll(); + } } \ No newline at end of file diff --git a/src/main/resources/application-prod.yml b/src/main/resources/application-prod.yml index d0b95f3..568a343 100644 --- a/src/main/resources/application-prod.yml +++ b/src/main/resources/application-prod.yml @@ -19,10 +19,15 @@ spring: main: banner-mode: off +logging: + level: + root: INFO + com.vimaltech.contactapi: DEBUG + server: error: - include-stacktrace: never - include-message: never + include-stacktrace: always + include-message: always springdoc: api-docs: @@ -30,13 +35,6 @@ springdoc: swagger-ui: enabled: false -logging: - level: - root: WARN - com.vimaltech.contactapi: INFO - org.springframework: WARN - org.hibernate: WARN - management: endpoints: web: