# MVC 패턴 흐름정리
- 차근차근
1번 : 입력값이다. PostMapping으로 입력되는 입력값이다.
2번 : 입력값을 Dto 타입으로 변환환다.
Dto 타입은 아래와 같다.
@Data
public class UserDto {
private String email;
private String name;
private String pwd;
private String userId;
private Date createAtl;
private String encryptedPwd;
}
3번 : 변환된 Dto 타입의 값을 인풋파라미터로 userService.createUser 인터페이스로 전송한다.
4번 : UserService 인터페이스에서 UserServiceImpl을 호출한다.
5번 : 인풋 파라미터로 받아온 userDto 값을 mapper를 이용해 UserEntity 타입으로 변환한다.
6-7 번 : UserEntity 타입으로 변환된 값을 userRepository에서 .save(userEntity)를 이용해 저장한다.
Entity 타입은 아래와 같다.
@Data
@Entity
@Table(name = "users")
public class UserEntity {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(nullable = false, length = 50, unique = true)
private String email;
@Column(nullable = false, length = 50)
private String name;
@Column(nullable = false, unique = true)
private String userId;
@Column(nullable = false, unique = true)
private String encryptedPwd;
}
8번 : UserDto returnUserDto = mapper.map(userEntity, UserDto.class); userEntity를 UserDto.class로 변환하여 returnUserDto 값으로 호출한 컨트롤러로 값을 반환한다.
3번 : 다시 3번으로 돌아가서 만약 리턴값이 returnUserDto 가 아닌 null이라면 3번 변수인 return_value_test값에는 null값이 변수에 담기게 된다.
9번 : userDto 값을 ResponseUser.class 타입으로 변환하여 responseUser라는 변수에 담는다.
ResponseUser 타입은 아래와 같다.
@Data
public class ResponseUser {
private String email;
private String name;
private String userId;
}
10번 : responseUser 를 파라미터로 받아서 결과값을 반환한다. 반환하면 아래와 같은 결과값을 볼 수 있다.
'🌱JAVA > 🌟 Spring MVC 패턴' 카테고리의 다른 글
DTO의 역할 및 form 데이터 처리 (0) | 2022.04.22 |
---|---|
Controller → View 까지의 흐름 (2) | 2022.04.22 |
신규 Controller를 생성 후 맵핑 하기 (0) | 2022.04.22 |
Model, View, Controller (0) | 2022.04.22 |