diff --git a/src/main/java/com/example/oneul/domain/user/api/UserApi.java b/src/main/java/com/example/oneul/domain/user/api/UserApi.java index b2d4e9a..67732fc 100644 --- a/src/main/java/com/example/oneul/domain/user/api/UserApi.java +++ b/src/main/java/com/example/oneul/domain/user/api/UserApi.java @@ -4,6 +4,7 @@ package com.example.oneul.domain.user.api; import javax.servlet.http.HttpSession; import com.example.oneul.domain.user.domain.UserEntity; +import com.example.oneul.domain.user.dto.LoginDTO; import com.example.oneul.domain.user.dto.SignUpDTO; import com.example.oneul.domain.user.service.UserService; @@ -15,21 +16,36 @@ import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; + + @RestController @RequestMapping(value = "/user") public class UserApi { - private final UserService userCommandService; + private final UserService userService; private final Logger log = LoggerFactory.getLogger(UserApi.class); - public UserApi(UserService userCommandService){ - this.userCommandService = userCommandService; + public UserApi(UserService userService){ + this.userService = userService; } - @RequestMapping(value="/", method=RequestMethod.POST) - public UserEntity signUp(@RequestBody SignUpDTO signUpDTO, HttpSession httpSession) { + @RequestMapping(value="/signup/", method=RequestMethod.POST) + public UserEntity signUp(@RequestBody SignUpDTO signUpDTO) { // TODO: password1, password2 같은지 검사 - UserEntity user = userCommandService.signUp(signUpDTO.toEntity(), httpSession); + UserEntity user = userService.signUp(signUpDTO.toEntity()); return user; } + + @RequestMapping(value="/login/", method=RequestMethod.POST) + public UserEntity login(HttpSession httpSession, @RequestBody LoginDTO loginDTO) { + UserEntity user = userService.login(loginDTO.toEntity(), httpSession); + return user; + } + + @RequestMapping(value="/logout/", method=RequestMethod.POST) + public String logout(HttpSession httpSession) { + userService.logout(httpSession); + return "logout"; + } + } diff --git a/src/main/java/com/example/oneul/domain/user/service/UserService.java b/src/main/java/com/example/oneul/domain/user/service/UserService.java index f6702b8..0418cab 100644 --- a/src/main/java/com/example/oneul/domain/user/service/UserService.java +++ b/src/main/java/com/example/oneul/domain/user/service/UserService.java @@ -8,7 +8,7 @@ import org.springframework.stereotype.Service; @Service public interface UserService { - UserEntity signUp(UserEntity userEntity, HttpSession httpSession); + UserEntity signUp(UserEntity userEntity); UserEntity login(UserEntity userEntity , HttpSession httpSession); void logout(HttpSession httpSession); } diff --git a/src/main/java/com/example/oneul/domain/user/service/UserServiceImpl.java b/src/main/java/com/example/oneul/domain/user/service/UserServiceImpl.java index 98edead..8c8a9e4 100644 --- a/src/main/java/com/example/oneul/domain/user/service/UserServiceImpl.java +++ b/src/main/java/com/example/oneul/domain/user/service/UserServiceImpl.java @@ -2,9 +2,9 @@ package com.example.oneul.domain.user.service; import javax.servlet.http.HttpSession; +import com.example.oneul.domain.user.dao.UserRepository; import com.example.oneul.domain.user.domain.UserEntity; import com.example.oneul.domain.user.exception.WrongUsernameAndPasswordException; -import com.example.oneul.domain.user.repository.UserRepository; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -27,7 +27,7 @@ public class UserServiceImpl implements UserService { @Override @Transactional(isolation = Isolation.SERIALIZABLE) - public UserEntity signUp(UserEntity userEntity, HttpSession httpSession){ + public UserEntity signUp(UserEntity userEntity){ UserEntity user = UserEntity.builder().username(userEntity.getUsername()) .password( passwordEncoder.encode(userEntity.getPassword())) diff --git a/src/test/java/com/example/oneul/service/UserCommandServiceTest.java b/src/test/java/com/example/oneul/service/UserCommandServiceTest.java index 42cff32..3ee99b4 100644 --- a/src/test/java/com/example/oneul/service/UserCommandServiceTest.java +++ b/src/test/java/com/example/oneul/service/UserCommandServiceTest.java @@ -25,9 +25,8 @@ public class UserCommandServiceTest { @Test public void signUpTest(){ - httpSession = new MockHttpSession(); LoginDTO loginDTO = new LoginDTO("zzzinho", "password"); - UserEntity user = userCommandService.signUp(loginDTO.toEntity(), httpSession); + UserEntity user = userCommandService.signUp(loginDTO.toEntity()); assertEquals(loginDTO.getUsername(), user.getUsername()); assertEquals(true, passwordEncoder.matches(loginDTO.getPassword(), user.getPassword())); }