분류 전체보기69 MockMVC를 사용한 Form 데이터 전송 이번 글에서 MockMVC를 사용해 Form 데이터를 전송하는 요청을 만들어 보자. 태그 데이터의 전송 MockMVC를 알아보기 전에 Form 태그의 데이터 전송 방법을 먼저 알아보자. Http 통신에서 데이터는 파라미터, 또는 메시지 바디를 통해 전송된다. 그렇다면 form 태그를 통해 입력된 데이터는 어떤 방식으로 전송될까? 아래 코드는 개인적으로 진행하고 있는 프로젝트의 뷰의 일부이다. 이름 ID 비밀 번호 회원가입 회원 가입 버튼을 누르면 /user/join URL로 Post 요청을 보내게 된다. 회원 가입 요청에 대해 다음과 같은 요청을 확인할 수 있다. Payload에서 데이터 역시 확인할 수 있다. 조금 더 데이터를 자세히 보기 위해 Controller를 다음과 같이 만들어 보자. @Cont.. 2023. 9. 28. 5-3. 회원 기본 기능 구현 (Controller) 이제 웹 페이지에서 회원 기능을 사용할 수 있도록 Controller를 만들어 API를 제공하고, 뷰를 제공해 보자. Model 생성 Controller 계층에서 사용할 모델을 추가해 준다. Service 계층에서 사용할 모델과 크게 다르지 않다. @Getter @Setter @NoArgsConstructor @AllArgsConstructor public class WebUser { private String userName; private String id; private String password; } 이번에도 마찬가지로 Model 변환 클래스를 따로 하나 만들어 사용하자. public class WebUserMapper { public static ServiceUser getServiceUser.. 2023. 9. 28. 5-2. 회원 기능 구현 (Service) 이제, 핵심 비즈니스 로직에 해당하는 UserService를 구현해 보자. 필요한 기능과 고려해야 할 예외사항은 다음과 같이 예상했다. UserService 먼저, UserService를 생성해 준다. UserService는 UserDAO가 제공하는 메서드를 호출해야 하기 때문에 UserDAO 에게 의존성을 가지고 있어야 한다. @Autowired를 사용해 의존성을 추가해준다. //... @Autowired UserDAO userDAO //... Model 이전에 자형에게 프로젝트 구조를 설명 들을 때 각 계층마다 모델을 따로 두는 것이 일반적이라고 설명을 들었다. 미처 그 이유까지 설명을 듣지는 못했으나, 그대로 구현을 해 보며 어떤 이점이 있는지를 찾아보고자 한다. 각 계층마다 모두 다른 모델을 사용.. 2023. 9. 24. 5-1. 회원 기본 기능 구현 (Repository) 가장 먼저 회원 정보를 DB에 저장해 두고, 회원 정보를 생성/조회/수정/삭제 하는 기능을 구현해 보자. API 구성 대략적인 API 구성은 다음과 같이 계획했다. 회원 생성 기능은 입력 폼으로 데이터를 입력 받아서 Model로 전달 해 줄 것이기 때문에 path variable은 필요하지 않다. 회원 데이터는 일단 간단하게 이름과 아이디, 비밀번호 정도만 만들어 두자. Repository Model 가장 먼저, 앞으로 우리가 사용하게 될 유저 클래스를 만들어 주자. @Entity @Table(name = "USERS") @Getter @Setter @NoArgsConstructor public class User { @Id @GeneratedValue @Column(name = "IDX") privat.. 2023. 9. 22. 이전 1 2 3 4 5 6 7 8 ··· 18 다음