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

Refactor: 요청 Dto 검증 과정 추가 (#47) #49

Merged
merged 15 commits into from
Nov 2, 2023

Conversation

win-luck
Copy link
Contributor

@win-luck win-luck commented Nov 2, 2023

Validation

  • 클라이언트의 요청인 RequestDto에 대한 유효성 검사를 통한 서버 요청/응답 안정성 확보
  • User RequestDto 패키지 요청/응답으로 세분화
  • Controller 계층에 Valid, RequestBody 어노테이션 추가
  • 검증 실패 시 MethodArgumentNotValidException에 대응하는 응답 반환 및 fail 응답객체 일부 형식 수정
  • 유효성 검사와 관련된 메시지를 통합적으로 관리할 MessageUtil 클래스 선언
  • User 패키지 Request Dto 유효성검사 적용
  • UserControllerTest 유효성검사 반영
  • Food 패키지 Request Dto 유효성검사 적용

기타

  • Jwt 토큰 유효시간 30분 -> 360분으로 연장
  • Create/Update FoodDto의 경우 필드 변경 가능성이 높아 일단 각 영양함량별 유효성검사는 대기 (RequestDto 수신 단계에서 예외처리가 어려우면 Servcie 내부 메서드� 등으로 대행 구현)

@win-luck win-luck added the refactor 리팩토링 label Nov 2, 2023
@win-luck win-luck requested a review from synoti21 November 2, 2023 16:09
@win-luck win-luck linked an issue Nov 2, 2023 that may be closed by this pull request
8 tasks
@win-luck win-luck changed the title Refactor: RequestDto 유효성 검사 적용 Refactor: 요청 Dto 검증 과정 추가 Nov 2, 2023
@win-luck win-luck changed the title Refactor: 요청 Dto 검증 과정 추가 Refactor: 요청 Dto 검증 과정 추가 (#47) Nov 2, 2023
@win-luck win-luck assigned win-luck and unassigned synoti21 Nov 2, 2023
@@ -49,8 +49,8 @@ public ApiResponse<Void> updateFood(UpdateFoodDto updateFoodDto){
//음식 삭제
@Operation(summary = "[음식] 음식 정보 삭제",description = "음식에 대한 정보를 삭제합니다.")
@DeleteMapping("/{foodId}/delete")
public ApiResponse<Void> deleteFood(@PathVariable Long foodId){
foodService.deleteFood(foodId);
public ApiResponse<Void> deleteFood(@PathVariable Long foodId, @RequestHeader Long userId){
Copy link
Contributor

Choose a reason for hiding this comment

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

Redis는 key value쌍으로 캐싱을 하기 때문에 userId에 대한 정보가 받아와야 하죠~

private String token;

@NotBlank(message = "nickName은 비어있을 수 없습니다.")
@NotBlank(message = MessageUtil.NOT_BLANK)
Copy link
Contributor

Choose a reason for hiding this comment

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

dto에 validation을 추가함으로써 요청의 무결성을 보장할 수 있을 것 같습니다!

@synoti21
Copy link
Contributor

synoti21 commented Nov 2, 2023

유효성 검사 로직을 추가함으로써 좀 더 유효한 요청이 들어올 확률이 높아질 것 같습니다! 수고하셨습니다~

@synoti21 synoti21 merged commit 630344f into master Nov 2, 2023
1 check passed
@synoti21 synoti21 deleted the feature/47-refactor-dtovalid branch November 6, 2023 18:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
refactor 리팩토링
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Refactor: 요청 Dto 검증 과정 추가 (#47)
2 participants