From 04fb4c64650a24a5fff70d4dbb4cd7932df6921c Mon Sep 17 00:00:00 2001 From: Madeleine Stamp Date: Thu, 16 Apr 2026 17:40:18 -0600 Subject: [PATCH] Update file UserController.java --- .../example/demo/controller/UserController.java | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/demo/src/main/java/com/example/demo/controller/UserController.java b/demo/src/main/java/com/example/demo/controller/UserController.java index 9a8031f..059a688 100644 --- a/demo/src/main/java/com/example/demo/controller/UserController.java +++ b/demo/src/main/java/com/example/demo/controller/UserController.java @@ -1,6 +1,8 @@ package com.example.demo.controller; +import java.security.Principal; import java.util.List; +import java.util.Optional; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; @@ -16,6 +18,7 @@ import org.springframework.web.bind.annotation.RestController; import com.example.demo.dto.UserDto; import com.example.demo.entity.User; +import com.example.demo.repository.UserRepo; import com.example.demo.service.UserService; @RestController @@ -23,10 +26,12 @@ import com.example.demo.service.UserService; public class UserController { private UserService userService; + private UserRepo userRepo; - public UserController(UserService userService) { + public UserController(UserService userService, UserRepo userRepo) { super(); this.userService = userService; + this.userRepo = userRepo; } // build create user REST API @@ -49,6 +54,15 @@ public class UserController { return new ResponseEntity<>(users, HttpStatus.OK); } + // build get current user REST API + @GetMapping("/me") + public UserDto getLoggedInUser(Principal principal) { + if (principal == null) return null; + String username = principal.getName(); + User user = (userRepo.findByUsername(username)) + .orElse(null); + return userService.convertToDto(user); + } // build get user by id REST API // http://localhost:8080/api/users/(id number goes here)