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

사용자 제보 API 개발 (#105) #106

Merged
merged 29 commits into from
Feb 18, 2024

Conversation

sungjindev
Copy link
Contributor

⭐️ Issue Number

🚩 Summary

누락된 가게가 있어서 저희 애플리케이션에 누락된 가게를 신고, 저희가 제공하고있는 가게 중 잘못된 정보가 있을 때는 수정 요청, 폐업이나 인증제 박탈 등의 이유로 제거 요청 등에 대한 사용자 제보를 받을 수 있도록 제보 내용들을 담을 테이블을 별도로 마련하고 이와 관련된 API를 개발합니다.

정리하자면 신규 가게 추가 제보(new), 가게 정보 수정 제보(fix), 가게 삭제 제보(del) 이렇게 총 4가지 종류의 제보가 있습니다.

  • Report 테이블 구현
  • Report는 추상 클래스로 구현하고 DiscriminatorColumn을 둬서 하위 제보별 클래스 구현
  • API는 신규 가게 추가 제보, 그 외 제보 이렇게 총 두 종류로 나눠서 구현 (Request Body, Response Body가 동일한 것끼리 맞춘 것)
  • 테스트 코드 작성

🛠️ Technical Concerns

유효성 검사

이번 PR은 거의 간단한 구현 작업들이라 크게 이슈될만한 상황은 없었지만 그래도 신경썼던 부분은 유효성 검사 로직입니다.
Request Body에 대해서 편하게 유효성 검사를 해주기 위해 Valid 애너테이션을 처음에 사용했었는데 애너테이션은 정상적으로 import가 되었지만 실제로는 NotEmpty, NotNull과 같은 애너테이션이 잘 동작하지 않는 것을 확인하였습니다.

그래서 관련해서 검색하던 중 이전에는 spring-boot-starter-web 의존성 내부에 validation이 있었지만, spring boot 2.3 version 이상부터는 아예 모듈로 빠져 validation 의존성을 따로 추가해줘야 한다고 해서 다음과 같은 내용을 build.gradle에 추가해줬습니다.

implementation 'org.springframework.boot:spring-boot-starter-validation'

다시 빌드해주니 그 이후부터는 정상적으로 동작하였습니다.

📋 To Do

  • 클라이언트단 요구 사항 변경에 따라 검색어 자동 완성 로직 일부 수정

@sungjindev sungjindev added the ✨ Feature 기능 관련 label Feb 17, 2024
@sungjindev sungjindev added the ✅ Test 테스트 관련 label Feb 17, 2024
@sungjindev sungjindev self-assigned this Feb 17, 2024
Copy link

Test Results

16 tests  +5   16 ✅ +5   19s ⏱️ +7s
10 suites +2    0 💤 ±0 
10 files   +2    0 ❌ ±0 

Results for commit 7abeedf. ± Comparison against base commit 9b5eeae.

Copy link
Contributor

@jinhoon227 jinhoon227 left a comment

Choose a reason for hiding this comment

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

승인합니다!

@sungjindev sungjindev merged commit 2ca264c into develop Feb 18, 2024
3 checks passed
@sungjindev sungjindev deleted the feature/add-userReport-api(#105) branch February 18, 2024 04:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
✨ Feature 기능 관련 ✅ Test 테스트 관련
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants