본문 바로가기

프로젝트/PongGame18

Account Validation Account Validation Controller로 들어오는 파라미터(Form 객체의 필드)의 값을 검증한다. 검증에는 Bean Validation과 Validator를 사용한다. Bean Validation과 Validator 둘 중 어느 것을 사용했든 이를 적용하려면 다음과 같이 검증할 객체 앞에 @Valid를 붙여주면 된다. [@Valid] @PostMapping("/account") public ResultMessage createAccount(@Valid @ModelAttribute AccountForm accountForm) 해당 API를 호출할 때 마다 AccountForm을 검증한다. 1. Form 객체_Bean Validation Account와 관련된 API에 사용되는 Form 객체.. 2022. 5. 10.
Account Repository Account Repository Account 정보를 DB에서 가져오는 AccountRepository를 만든다. DB에서 엔티티를 가져올 때는 Spring Data JPA와 QueryDSL를 사용한다. 1. Spring Data JPA ■ AccountRepository Spring Data JPA에 의해 인터페이스에 JpaRepository를 상속받도록 하면 자동으로 구현체가 생성된다. 때문에 AccountRepository는 인터페이스로 구현된다. [AccountRepository] public interface AccountRepository extends JpaRepository { Optional findByUsername(String username); Optional findByNickn.. 2022. 5. 10.
Account API 명세 Account API 명세 Account와 관련된 API의 형태를 정한다. API의 입력과 출력을 정리한다. 1. Account API 명세 기본적인 CRUD와 관련된 API와 프로필 이미지를 조회하는 API를 만든다. Delete와 관련된 API는 연관관계가 모두 정립된 후에 생성할 것이기 때문에 지금은 정의하지 않는다. 여기선 입력과 정상 출력의 경우만 정리하고 각종 예외 상황은 추후 API 구현 포스팅에서 자세히 다룰 예정이다. ■ Create □ createAccount Account를 생성하고 저장. [createAccount] @PostMapping("/account") public ResultMessage createAccount(@Valid @ModelAttribute AccountForm.. 2022. 5. 5.
EntityListeners EntityListeners 생성 · 수정일, 생성 · 수정자 같은 요소들은 엔티티에 거의 필수적으로 들어가는 요소들이다. 특히 생성 · 수정일은 거의 모든 엔티티에 들어가는 요소라고 해도 과언이 아니다. 하지만 DB에 엔티티가 생성, 수정될 때마다 해당 값을 일일이 넣어주는 것은 매우 반복적이고 지루한 일이다. EntityListeners는 Jpa 엔티티에서 이벤트가 발생할 때마다 콜백을 처리할 수 있게 해 준다. 이는 생성, 수정과 관련된 요소들을 공통된 메서드로 처리할 수 있음을 뜻한다. pongGame 프로젝트에서는 위와 같이 엔티티에서 반복되는 요소들에 특정 이벤트가 발생했을 때 EntityListeners를 통해서 자동적으로 처리하도록 한다. 또한 생성 · 수정일, delete 요소를 담은 클.. 2022. 4. 28.