반응형
드디어 오류를 고쳤다.
그래서 그동안 쌓아 놓은 예제들을 하나씩 풀 생각이다.
내가 우선 구현한 것은 안드로이드에서 회원가입을 하면 DB에 개인정보가 저장되는 것을 구현했다.
하지만 category가 spring실습인 만큼 spring part 위주로 설명하겠다.
해당 화면은 android studio의 emulator 캡처본으로 edit_text 부분에 개인정보를 입력하면 db로 정보가 저장된다.
android에서는 UserAPI.kt를 호출하여 구현한다.
@POST("user/join") //client ->db
suspend fun saveJoinUser(@Body userModel: UserModel): Response<Void>
이제부터는 본격적으로 spring part에 들어가겠다. (interface code는 생략하겠다.)
1. UserDTO.java
@NoArgsConstructor
@AllArgsConstructor
@Builder
@Getter
@Setter
public class UserDTO {
@NotNull
private String userId;
private String userPassword;
private String userName;
@Email
private String userEmail;
private int userAge;
public User toEntity(){
return User.builder()
.userId(userId)
.userPassword(userPassword)
.userName(userName)
.userEmail(userEmail)
.userAge(userAge)
.build();
}
}
2. UserController.java
@PostMapping(value = "user/join")
public ResponseEntity<UserDTO> makeUser(@Valid @RequestBody UserDTO userDTO){
String userId = userDTO.getUserId();
String userPassword = userDTO.getUserPassword();
String userName = userDTO.getUserName();
String userEmail = userDTO.getUserEmail();
int userAge = userDTO.getUserAge();
UserDTO response = userService.saveUser(userId, userPassword, userName, userEmail, userAge);
return ResponseEntity.status(HttpStatus.OK).body(response);
}
controller의 경우 dto를 vo로 사용한다.
3. UserServiceImpl.java
@Override
public UserDTO saveUser(String userId, String userPassword, String userName, String userEmail, int userAge){
User user = userDataHandler.saveUserEntity(userId,userPassword,userName,userEmail,userAge);
UserDTO userDTO = new UserDTO(user.getUserId(), user.getUserPassword(), user.getUserName(), user.getUserEmail(), user.getUserAge());
return userDTO;
}
service부터는 entity를 vo로 사용하므로 dto 에서 entity로 전환과정이 필요다.
4. UserDataHandler.java
@Override
public User saveUserEntity(String userId, String userPassword, String userName, String userEmail, int userAge){
User user = new User(userId, userPassword, userName, userEmail, userAge);
return userDAO.saveUser(user);
}
5. UserDAOImpl.java
@Override
public User saveUser(User user){
User user1 = userRepository.save(user);
return user1;
}
해당 과정을 모두 소화하게 되면
이렇게 maria db를 시각적으로 보여주는 HeidiSQL에서 확인이 가능하다.
다음번에는 안드로이드에서 전체 DB를 읽어오는 방법을 소개하겠습니당.
반응형
'Spring실습' 카테고리의 다른 글
안드로이드스튜디오와 스프링부트의 @PUT, @PutMapping (0) | 2023.05.22 |
---|---|
안드로이드 스튜디오와 스프링부트에서 마리아DB의 특정 DB값 읽기(findByUserId()) (0) | 2023.05.18 |
안드로이드 스튜디오와 스프링부트를 이용해서 마리아DB에서 모든 DB 읽기 (0) | 2023.05.17 |
스프링으로 모바일 앱 서버 만들기[User] 1. Project 구성하기 (0) | 2023.04.28 |
스프링으로 모바일 앱 서버 만들기 (0) | 2023.04.25 |