Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BE] feat: validation 추가 (#113) #365

Merged
merged 16 commits into from
Sep 14, 2023
Merged

[BE] feat: validation 추가 (#113) #365

merged 16 commits into from
Sep 14, 2023

Conversation

BGuga
Copy link
Member

@BGuga BGuga commented Aug 15, 2023

📌 관련 이슈

✨ PR 세부 내용

  1. Exception Handler 분리 이유 : 기존에 GlobalExceptionHandler 는 ResponseEntityExceptionHandler 를 상속받고 있었습니다.
    그래서 GlobaclExcpeionHandler 는 MethodArgumentNotValidException 를 처리하는 handler 로 지정되었는데 MethodArgumentNotValidException 를 커스텀하게 핸들링 하기 위해서는 두 개의 클래스로 분리하여서 GlobalExceptionHandler 가 우선순위를 갖도록 변경하였습니다. MethodArgumentNotValidException 는 에러 메시지가 통일성 있게 반환되도록 만들기 위함입니다.

  2. ManyToOne notNull 제약 조건 추가 :

image

Stage 는 당연지사 Festival 이 있어야 하는 것이 맞아보여 해당 column 도 not null 제약 조건으로 추가해주었습니다.

  1. EnumType Length 제약 생략 : enum 의 경우 @SiZe 가 validation 을 진행하지 못하는 문제가 식별되어서 해당 @column(length = 30) 로 지정하려 했으나 enum 의 경우 굳이 달아줘야하는지 의문이 들어 생략하도록 했습니다.

  2. @SiZe(255) application 레벨에서 validation 하려는 취지에 맞게 기본값인 Size(255) 도 명시적으로 지정해주었습니다.

@BGuga BGuga linked an issue Aug 15, 2023 that may be closed by this pull request
@github-actions
Copy link

github-actions bot commented Aug 15, 2023

Unit Test Results

  65 files    65 suites   9s ⏱️
185 tests 185 ✔️ 0 💤 0
188 runs  188 ✔️ 0 💤 0

Results for commit f20a831.

♻️ This comment has been updated with latest results.

@BGuga BGuga force-pushed the feat/#113 branch 2 times, most recently from 25e516e to 07d7f0c Compare August 15, 2023 08:46
@BGuga BGuga self-assigned this Aug 16, 2023
@BGuga BGuga added the BE 백엔드에 관련된 작업 label Aug 16, 2023
@BGuga BGuga added this to the 4차 데모데이 milestone Aug 16, 2023
# Conflicts:
#	backend/src/main/java/com/festago/dto/FestivalCreateRequest.java
#	backend/src/main/java/com/festago/dto/StageCreateRequest.java
#	backend/src/main/java/com/festago/dto/TicketCreateRequest.java
#	backend/src/main/java/com/festago/dto/TicketValidationRequest.java
#	backend/src/main/java/com/festago/dto/TicketingRequest.java
# Conflicts:
#	backend/src/main/java/com/festago/presentation/AdminController.java
#	backend/src/main/java/com/festago/presentation/GlobalExceptionHandler.java
@BGuga BGuga force-pushed the feat/#113 branch 2 times, most recently from 91d393b to bdeee94 Compare September 14, 2023 02:29
Copy link
Member

@xxeol2 xxeol2 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

113번 형님.... 들어가시죠

Copy link
Collaborator

@seokjin8678 seokjin8678 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

고생하셨습니다!

@seokjin8678 seokjin8678 merged commit e54c909 into dev Sep 14, 2023
3 checks passed
@seokjin8678 seokjin8678 deleted the feat/#113 branch September 14, 2023 05:49
BGuga added a commit that referenced this pull request Oct 17, 2023
* feat: 어노테이션 기반의 Spring validation 추가

* feat: 도메인 validation 추가

* feat: lineUp 은 null 일 수 있다.

* feat: dto validation 추가

* feat: MethodArgumentNotValidException 에 대한 custom 핸들링

* feat: dto 의 예외 메시지 지정한다

* fix: Member 의 profileImage 가 null 인 경우의 null check 제거

* feat: length 검증 전 null check 가 선행되도록 변경

* refactor: Objects.isNull -> == null 확인으로 변경

* feat: Service Entity 생성 로직 삭제

* feat: socialType Enumerated 추가

* feat: @RequestBody validate 추가

* feat: dto @Valid 실패시 400 response
BGuga added a commit that referenced this pull request Oct 17, 2023
* feat: 어노테이션 기반의 Spring validation 추가

* feat: 도메인 validation 추가

* feat: lineUp 은 null 일 수 있다.

* feat: dto validation 추가

* feat: MethodArgumentNotValidException 에 대한 custom 핸들링

* feat: dto 의 예외 메시지 지정한다

* fix: Member 의 profileImage 가 null 인 경우의 null check 제거

* feat: length 검증 전 null check 가 선행되도록 변경

* refactor: Objects.isNull -> == null 확인으로 변경

* feat: Service Entity 생성 로직 삭제

* feat: socialType Enumerated 추가

* feat: @RequestBody validate 추가

* feat: dto @Valid 실패시 400 response
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
BE 백엔드에 관련된 작업
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

[BE] 도메인 엔티티 칼럼의 제약조건을 추가한다.
4 participants