login logou api

This commit is contained in:
jinho jeong
2022-04-25 15:18:21 +09:00
parent 683b8b53db
commit aa2720dcd3
4 changed files with 26 additions and 11 deletions

View File

@@ -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";
}
}

View File

@@ -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);
}

View File

@@ -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()))

View File

@@ -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()));
}