-
Notifications
You must be signed in to change notification settings - Fork 0
๐ฅfix : ๊ฑฐ๋ฆฌ ์ถ๋ ฅ ์๋๋ ๋ฌธ์ ์์ #76
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
The head ref may contain hidden characters: "feat/\uAC70\uB9AC"
Conversation
Walkthrough์ง๋จ/์ค๋ช ๊ธฐ๋ฅ ๋ชจ๋ ์ ์ฒด๋ฅผ ์ ๊ฑฐํ๊ณ , ๊ณต์ง์ฌํญ ๋ชจ๋์ ์ ๋ ฅ ๊ฒ์ฆ ๋ฐ ๊ฐ์ ๋ ๋ก๊น ์ ์ถ๊ฐํฉ๋๋ค. pinPointId ํ์ ์ ๋ ฅ ๊ฒ์ฆ ๋ฐ ๊ฑฐ๋ฆฌ ๊ณ์ฐ ์คํจ ์ฒ๋ฆฌ ๋ก์ง์ ๊ฐํํ๋ฉฐ, ์ฃผํ ๋จ์ง ์์ธ ์ ๋ณด ์๋ต์ ๋จ์ ์ ํ ๋ฐ ๊ฐ์ ์ ๋ณด๋ฅผ ์ถ๊ฐํฉ๋๋ค. Changes
Estimated code review effort๐ฏ 3 (Moderate) | โฑ๏ธ ~20 minutes
Poem
Pre-merge checks and finishing touchesโ Failed checks (2 warnings)
โ Passed checks (1 passed)
โจ Finishing touches
๐งช Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 4
๐ Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
๐ Files selected for processing (17)
src/main/java/com/pinHouse/server/core/exception/code/NoticeErrorCode.java(1 hunks)src/main/java/com/pinHouse/server/platform/diagnostic/explanation/application/dto/DiagnosisQuestionResponse.java(0 hunks)src/main/java/com/pinHouse/server/platform/diagnostic/explanation/application/dto/ExplanationResponse.java(0 hunks)src/main/java/com/pinHouse/server/platform/diagnostic/explanation/application/service/ExplanationService.java(0 hunks)src/main/java/com/pinHouse/server/platform/diagnostic/explanation/application/usecase/ExplanationUseCase.java(0 hunks)src/main/java/com/pinHouse/server/platform/diagnostic/explanation/domain/entity/DiagnosisQuestion.java(0 hunks)src/main/java/com/pinHouse/server/platform/diagnostic/explanation/domain/entity/DiagnosisType.java(0 hunks)src/main/java/com/pinHouse/server/platform/diagnostic/explanation/domain/entity/Explanation.java(0 hunks)src/main/java/com/pinHouse/server/platform/diagnostic/explanation/domain/repository/DiagnosisQuestionJpaRepository.java(0 hunks)src/main/java/com/pinHouse/server/platform/diagnostic/explanation/domain/repository/ExplanationJpaRepository.java(0 hunks)src/main/java/com/pinHouse/server/platform/diagnostic/explanation/presentation/ExplanationApi.java(0 hunks)src/main/java/com/pinHouse/server/platform/diagnostic/explanation/presentation/swagger/ExplanationApiSpec.java(0 hunks)src/main/java/com/pinHouse/server/platform/housing/complex/application/dto/response/ComplexDetailResponse.java(5 hunks)src/main/java/com/pinHouse/server/platform/housing/complex/application/dto/response/DistanceResponse.java(1 hunks)src/main/java/com/pinHouse/server/platform/housing/notice/application/dto/NoticeDetailFilterRequest.java(2 hunks)src/main/java/com/pinHouse/server/platform/housing/notice/application/service/NoticeService.java(2 hunks)src/main/java/com/pinHouse/server/platform/housing/notice/presentation/NoticeApi.java(2 hunks)
๐ค Files with no reviewable changes (11)
- src/main/java/com/pinHouse/server/platform/diagnostic/explanation/presentation/ExplanationApi.java
- src/main/java/com/pinHouse/server/platform/diagnostic/explanation/application/dto/ExplanationResponse.java
- src/main/java/com/pinHouse/server/platform/diagnostic/explanation/application/dto/DiagnosisQuestionResponse.java
- src/main/java/com/pinHouse/server/platform/diagnostic/explanation/domain/repository/ExplanationJpaRepository.java
- src/main/java/com/pinHouse/server/platform/diagnostic/explanation/domain/repository/DiagnosisQuestionJpaRepository.java
- src/main/java/com/pinHouse/server/platform/diagnostic/explanation/domain/entity/Explanation.java
- src/main/java/com/pinHouse/server/platform/diagnostic/explanation/application/service/ExplanationService.java
- src/main/java/com/pinHouse/server/platform/diagnostic/explanation/presentation/swagger/ExplanationApiSpec.java
- src/main/java/com/pinHouse/server/platform/diagnostic/explanation/domain/entity/DiagnosisQuestion.java
- src/main/java/com/pinHouse/server/platform/diagnostic/explanation/domain/entity/DiagnosisType.java
- src/main/java/com/pinHouse/server/platform/diagnostic/explanation/application/usecase/ExplanationUseCase.java
โฐ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
- GitHub Check: test
๐ Additional comments (6)
src/main/java/com/pinHouse/server/platform/housing/complex/application/dto/response/DistanceResponse.java (1)
27-31: LGTM! API ๋ฌธ์ํ ๊ฐ์
routes์stopsํ๋์ ๋ํ Swagger ์ค๋ช ์ด ์ถ๊ฐ๋์ด API ๋ฌธ์๊ฐ ๋ ๋ช ํํด์ก์ต๋๋ค.src/main/java/com/pinHouse/server/platform/housing/complex/application/dto/response/ComplexDetailResponse.java (4)
8-8: LGTM! API ๋ฌธ์ํ ์ถ๊ฐ๋ชจ๋ ํ๋์ ๋ํ Swagger ์คํค๋ง ์ ์๊ฐ ์ถ๊ฐ๋์ด API ๋ฌธ์๊ฐ ํฅ์๋์์ต๋๋ค.
Also applies to: 17-48
38-42: LGTM! ์ ๋ ํ์ ์ ๋ณด ์ถ๊ฐ
unitCount์unitTypesํ๋๊ฐ ์ ์ ํ๊ฒ ์ถ๊ฐ๋์์ต๋๋ค. ๋ชฉ๋ก ์กฐํ์์๋unitCount๋ง ๋ ธ์ถํ๊ณ , ์์ธ ์กฐํ์์๋ ์ ์ฒดunitTypes๋ฅผ ์ ๊ณตํ๋ ์ค๊ณ๊ฐ ํฉ๋ฆฌ์ ์ ๋๋ค.Also applies to: 66-69, 93-94
113-113: ๊ธฐ๋ณธ๊ฐ 0์ ์๋๋ ์ค๊ณ์ ๋๋ค.
totalTimeMap.getOrDefault(document.getId(), 0)์์ ๊ธฐ๋ณธ๊ฐ์ด 0์ธ ๊ฒ์ ์๋์ ์ ๋๋ค. NoticeService.java์ ๊ฑฐ๋ฆฌ ๊ณ์ฐ ์คํจ ์ ์์ธ ์ฒ๋ฆฌ(line 210)์์ ๋ช ์์ ์ผ๋กtotalTimeMap.put(complex.getId(), 0)์ ์คํํ๊ณ ์์ผ๋ฉฐ, formatTime() ๋ฉ์๋๋ 0์ ์ ํจํ ๊ฐ์ผ๋ก ์ฒ๋ฆฌํ์ฌ "0๋ถ"์ผ๋ก ํ์ํฉ๋๋ค.๊ฑฐ๋ฆฌ ๊ณ์ฐ์ ์คํจํ ์๋์ฃผํ์ "๋ฐ์ดํฐ ์์"์ด ์๋๋ผ "0๋ถ ์์"๋ก ํ์ํ๋ ๊ฒ์ด ์ค๊ณ ์๋์ ๋๋ค.
155-159: Cannot verify the inconsistency claim betweenComplexDetailResponse.javaandDistanceResponse.java.The review mentions a
formatTimemethod inDistanceResponse.java(line 63-66) that allegedly returnsnull, and compares it with the implementation inComplexDetailResponse.java(line 155-159) that returns"0๋ถ". However, the referencedDistanceResponse.javafile could not be located in the repository, making it impossible to verify whether this inconsistency actually exists or if it requires remediation.Before proceeding with this review feedback, confirm that:
DistanceResponse.javaexists in the expected location- The
formatTimemethod in that file has the behavior described (returningnullfor zero/negative values)- Both implementations are actually used in contexts where their different return values matter
src/main/java/com/pinHouse/server/platform/housing/notice/application/service/NoticeService.java (1)
119-142: ๋ก๊น ๊ฐ์ ์ด ์ฐ์ํฉ๋๋ค!๊ฑฐ๋ฆฌ ๊ณ์ฐ ํ๋ก์ธ์ค์ ๋ํ ๊ฐ์์ฑ์ ํฌ๊ฒ ํฅ์์ํค๋ ๋ณ๊ฒฝ์ฌํญ์ ๋๋ค:
- ์์/์๋ฃ ๋ก๊ทธ๋ก ์ฒ๋ฆฌ ๋ฒ์ ํ์ธ ๊ฐ๋ฅ
- ์ฑ๊ณต/์คํจ ์นด์ดํฐ๋ก ๋ฌธ์ ๊ท๋ชจ ํ์ ์ฉ์ด
- ์คํจ ์ ์์ธ ์๋ฌ ์ ๋ณด ํฌํจ
์ด๋ฌํ ๊ฐ์ ์ ๊ฑฐ๋ฆฌ ์ถ๋ ฅ ๋ฌธ์ ๋๋ฒ๊น ์ ๋งค์ฐ ์ ์ฉํฉ๋๋ค.
| // ======================== | ||
| // 400 Bad Request | ||
| // ======================== | ||
| MISSING_PINPOINT_ID(400_001, HttpStatus.BAD_REQUEST, "pinPointId๋ ํ์ ์ ๋ ฅ๊ฐ์ ๋๋ค"), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
๐งฉ Analysis chain
๐ Script executed:
rg -n -C3 "pinPointId" --type=java src/main/java/com/pinHouse/server/Repository: PinHouse/PinHouse_BE
Length of output: 50376
๐ Script executed:
# Check specific files mentioned in the review
cat -n src/main/java/com/pinHouse/server/core/service/NoticeService.java | sed -n '110,130p'Repository: PinHouse/PinHouse_BE
Length of output: 161
๐ Script executed:
# Check the API endpoint definition
cat -n src/main/java/com/pinHouse/server/api/NoticeApi.java | sed -n '100,115p'Repository: PinHouse/PinHouse_BE
Length of output: 148
๐ Script executed:
# Check the filter request validation
fd "NoticeDetailFilterRequest" --type f | head -5Repository: PinHouse/PinHouse_BE
Length of output: 168
Remove @notblank validation from pinPointId or make the request parameter required.
The codebase has conflicting requirements: NoticeDetailFilterRequest marks pinPointId as @NotBlank (required), but the compareUnitTypes endpoint in NoticeApi declares it as @RequestParam(required = false). Service code at NoticeService:118,203,234 and ComplexFilterService:191-194 defensively handles null/blank pinPointId by returning null or skipping distance calculations. The error code MISSING_PINPOINT_ID doesn't align with this optional design. Either enforce the requirement consistently across the API layer with required = true, or remove the @NotBlank validation from NoticeDetailFilterRequest to properly reflect that pinPointId is optional.
๐ค Prompt for AI Agents
In src/main/java/com/pinHouse/server/core/exception/code/NoticeErrorCode.java
around line 15, and associated DTO/controller spots, the codebase treats
pinPointId as optional but the DTO has @NotBlank; remove @NotBlank from
NoticeDetailFilterRequest.pinPointId so the DTO matches the controller's
@RequestParam(required = false) and service defensive logic, and then remove or
deprecate the MISSING_PINPOINT_ID error code (or ensure it is not referenced) so
error codes reflect that pinPointId is optional.
| @NotBlank(message = "pinPointId๋ ํ์ ์ ๋ ฅ๊ฐ์ ๋๋ค") | ||
| @Schema(example = "fec9aba3-0fd9-4b75-bebf-9cb7641fd251", required = true) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
pinPointId๋ฅผ ํ์ ๊ฐ์ผ๋ก ๋ง๋๋ ๊ฒ์ ์ค๊ณ ์ค๋ฅ์ ๋๋ค.
@NotBlank ์ ์ฝ ์กฐ๊ฑด์ ์ถ๊ฐํ๋ฉด pinPointId๊ฐ ํ์ ์
๋ ฅ์ด ๋์ง๋ง, ์ด๋ ๊ธฐ์กด ์๋น์ค ๋ก์ง๊ณผ ์ถฉ๋ํฉ๋๋ค:
-
์๋น์ค ๋ก์ง ์ถฉ๋:
NoticeService.java118๋ฒ ๋ผ์ธ์์if (request.pinPointId() != null && !request.pinPointId().isBlank())๋ก ์ฒดํฌํ๋ ๊ฒ์ ์ด ํ๋๊ฐ ์ ํ์ ์์ ์ ์ ๋ก ํฉ๋๋ค. -
๊ธฐ๋ฅ ์ค๊ณ ์๋: ๊ฑฐ๋ฆฌ ๊ณ์ฐ์ ์ฌ์ฉ์๊ฐ
pinPointId๋ฅผ ์ ๊ณตํ์ ๋๋ง ์ํ๋๋ ์ ํ์ ๊ธฐ๋ฅ์ ๋๋ค. ๋ชจ๋ ์์ฒญ์์ ์ด๋ฅผ ํ์๋ก ๋ง๋ค๋ฉด ๊ฑฐ๋ฆฌ ๊ณ์ฐ์ด ํ์์๋ ๊ฒฝ์ฐ์๋ ๋๋ฏธ ๊ฐ์ ๋ณด๋ด์ผ ํฉ๋๋ค. -
Breaking Change: ๊ธฐ์กด ํด๋ผ์ด์ธํธ๊ฐ
pinPointId์์ด ํธ์ถํ๋ API๊ฐ 400 ์๋ฌ๋ฅผ ๋ฐํํ๊ฒ ๋ฉ๋๋ค.
ํด๊ฒฐ ๋ฐฉ์:
@NotBlank์ ์ฝ ์กฐ๊ฑด์ ์ ๊ฑฐํ๊ณpinPointId๋ฅผ ์ ํ์ ํ๋๋ก ์ ์ง- ๋์
pinPointId๊ฐ ์ ๊ณต๋์์ ๋๋ง ๊ฑฐ๋ฆฌ ๊ณ์ฐ ์ํ (ํ์ฌ ์๋น์ค ๋ก์ง๊ณผ ์ผ์น)
๋ค์ diff๋ฅผ ์ ์ฉํ์ธ์:
- @NotBlank(message = "pinPointId๋ ํ์ ์
๋ ฅ๊ฐ์
๋๋ค")
- @Schema(example = "fec9aba3-0fd9-4b75-bebf-9cb7641fd251", required = true)
+ @Schema(example = "fec9aba3-0fd9-4b75-bebf-9cb7641fd251", required = false)
String pinPointId,๐ Committable suggestion
โผ๏ธ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| @NotBlank(message = "pinPointId๋ ํ์ ์ ๋ ฅ๊ฐ์ ๋๋ค") | |
| @Schema(example = "fec9aba3-0fd9-4b75-bebf-9cb7641fd251", required = true) | |
| @Schema(example = "fec9aba3-0fd9-4b75-bebf-9cb7641fd251", required = false) | |
| String pinPointId, |
๐ค Prompt for AI Agents
In
src/main/java/com/pinHouse/server/platform/housing/notice/application/dto/NoticeDetailFilterRequest.java
around lines 15-16, remove the @NotBlank constraint from pinPointId so the field
remains optional (matching the service logic that checks if pinPointId() != null
&& !isBlank()), leaving only the Schema annotation if desired; ensure no other
validation annotations force non-empty values so distance calculation continues
to run only when pinPointId is provided.
| totalTimeMap.put(complex.getId(), 0); | ||
| log.error("๊ฑฐ๋ฆฌ ๊ณ์ฐ ์คํจ (0๋ถ์ผ๋ก ์ค์ ) - complexId={}, pinPointId={}, error={}", | ||
| complex.getId(), request.pinPointId(), e.getMessage()); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
๋ก๊ทธ์ ์์ธ ๊ฐ์ฒด๋ฅผ ํฌํจํ์ธ์.
212๋ฒ ๋ผ์ธ์ ๋ก๊ทธ ๊ตฌ๋ฌธ์์ ์์ธ ๊ฐ์ฒด๊ฐ ๋๋ฝ๋์ด ์์ต๋๋ค. 137๋ฒ ๋ผ์ธ๊ณผ ๋ฌ๋ฆฌ ๋ง์ง๋ง์ , e๊ฐ ์์ด ์คํ ํธ๋ ์ด์ค๊ฐ ๋ก๊ทธ์ ๊ธฐ๋ก๋์ง ์์ต๋๋ค.
๋ค์ diff๋ฅผ ์ ์ฉํ์ฌ ์ผ๊ด์ฑ์ ์ ์งํ์ธ์:
- log.error("๊ฑฐ๋ฆฌ ๊ณ์ฐ ์คํจ (0๋ถ์ผ๋ก ์ค์ ) - complexId={}, pinPointId={}, error={}",
- complex.getId(), request.pinPointId(), e.getMessage());
+ log.error("๊ฑฐ๋ฆฌ ๊ณ์ฐ ์คํจ (0๋ถ์ผ๋ก ์ค์ ) - complexId={}, pinPointId={}, error={}",
+ complex.getId(), request.pinPointId(), e.getMessage(), e);๐ Committable suggestion
โผ๏ธ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| totalTimeMap.put(complex.getId(), 0); | |
| log.error("๊ฑฐ๋ฆฌ ๊ณ์ฐ ์คํจ (0๋ถ์ผ๋ก ์ค์ ) - complexId={}, pinPointId={}, error={}", | |
| complex.getId(), request.pinPointId(), e.getMessage()); | |
| totalTimeMap.put(complex.getId(), 0); | |
| log.error("๊ฑฐ๋ฆฌ ๊ณ์ฐ ์คํจ (0๋ถ์ผ๋ก ์ค์ ) - complexId={}, pinPointId={}, error={}", | |
| complex.getId(), request.pinPointId(), e.getMessage(), e); |
๐ค Prompt for AI Agents
In
src/main/java/com/pinHouse/server/platform/housing/notice/application/service/NoticeService.java
around lines 210 to 212, the error log that records distance calculation failure
is missing the exception object, so the stack trace won't be logged; update the
log.error call to pass the exception as the final parameter (append ", e") so
the logger records the full stack trace and message, keeping the existing
message and placeholders unchanged.
| import com.pinHouse.server.platform.housing.notice.application.usecase.NoticeUseCase; | ||
| import com.pinHouse.server.platform.housing.notice.presentation.swagger.NoticeApiSpec; | ||
| import com.pinHouse.server.security.oauth2.domain.PrincipalDetails; | ||
| import jakarta.validation.Valid; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
๐งฉ Analysis chain
๐ Script executed:
find . -type f -name "NoticeApi.java" | head -20Repository: PinHouse/PinHouse_BE
Length of output: 151
๐ Script executed:
find . -type f -name "NoticeDetailFilterRequest.java" | head -20Repository: PinHouse/PinHouse_BE
Length of output: 170
๐ Script executed:
find . -type f -name "NoticeService.java" | head -20Repository: PinHouse/PinHouse_BE
Length of output: 162
๐ Script executed:
cat -n ./src/main/java/com/pinHouse/server/platform/housing/notice/presentation/NoticeApi.javaRepository: PinHouse/PinHouse_BE
Length of output: 5468
๐ Script executed:
cat -n ./src/main/java/com/pinHouse/server/platform/housing/notice/application/dto/NoticeDetailFilterRequest.javaRepository: PinHouse/PinHouse_BE
Length of output: 3093
๐ Script executed:
sed -n '110,130p' ./src/main/java/com/pinHouse/server/platform/housing/notice/application/service/NoticeService.javaRepository: PinHouse/PinHouse_BE
Length of output: 1124
๐ Script executed:
grep -n "@Valid" ./src/main/java/com/pinHouse/server/platform/housing/notice/presentation/NoticeApi.javaRepository: PinHouse/PinHouse_BE
Length of output: 135
๐ Script executed:
rg -n "NoticeDetailFilterRequest" ./src/main/java/com/pinHouse/server/platform/housing/notice/presentation/NoticeApi.javaRepository: PinHouse/PinHouse_BE
Length of output: 296
๐ Script executed:
sed -n '90,102p' ./src/main/java/com/pinHouse/server/platform/housing/notice/presentation/NoticeApi.javaRepository: PinHouse/PinHouse_BE
Length of output: 452
๐ Script executed:
rg -n "NoticeDetailFilterRequest" ./src/main/java/com/pinHouse/server/platform/housing/notice/Repository: PinHouse/PinHouse_BE
Length of output: 3286
@Valid ์ด๋ ธํ ์ด์ ์ ์ ํ์ ์ ์ฉ์ผ๋ก ์ธํ ๊ฒ์ฆ ๋ถ์ผ์น ๋ฐ Breaking Change
@Valid ์ด๋
ธํ
์ด์
์ด getNotice() ๋ฉ์๋(69๋ฒ ๋ผ์ธ)์๋ง ์ถ๊ฐ๋์์ผ๋, ๋์ผํ NoticeDetailFilterRequest๋ฅผ ์ฌ์ฉํ๋ countFilteredComplexes() ๋ฉ์๋(94๋ฒ ๋ผ์ธ)์๋ ์ถ๊ฐ๋์ง ์์์ต๋๋ค.
NoticeDetailFilterRequest์ @NotBlank ์ ์ฝ์ด getNotice()์์๋ง ํ์ฑํ๋๋ฉด์:
POST /{noticeId}: pinPointId ํ์ (๊ฒ์ฆ๋จ)POST /{noticeId}/filter/count: pinPointId ์ ํ์ (๊ฒ์ฆ ์๋จ)
๋์ผํ DTO๋ฅผ ์ฌ์ฉํ๋ ๋ ์๋ํฌ์ธํธ์ ๊ฒ์ฆ ๊ท์น์ด ๋ถ์ผ์นํฉ๋๋ค. ๋ํ NoticeService.java ๋ผ์ธ 118์ ๋ฐฉ์ด์ ๋ก์ง(if (request.pinPointId() != null && !request.pinPointId().isBlank()))์ pinPointId๊ฐ ์ ํ์ ์์ ์ ์ ๋ก ํ๋ฏ๋ก, ์ด ๋ณ๊ฒฝ์ด ์๋๋ ๊ฒ์ธ์ง(๊ทธ๋ ๋ค๋ฉด ๋ค๋ฅธ ์๋ํฌ์ธํธ๋ ์ผ๊ด๋๊ฒ ์์ ํ์), ์๋๋ฉด oversight์ธ์ง ๊ฒํ ๊ฐ ํ์ํฉ๋๋ค.
๐ค Prompt for AI Agents
In
src/main/java/com/pinHouse/server/platform/housing/notice/presentation/NoticeApi.java
around line 17 and the methods at lines ~69 and ~94, the @Valid annotation was
applied to getNotice() but not to countFilteredComplexes(), causing inconsistent
validation of NoticeDetailFilterRequest (pinPointId required in one endpoint but
optional in the other); either (A) add @Valid to the countFilteredComplexes()
method parameter so both endpoints enforce the same @NotBlank constraints on
pinPointId, or (B) remove @Valid from getNotice() (and adjust imports) if
pinPointId should be optional everywhere and then remove/adjust the defensive
service check at NoticeService.java:118 accordingly to keep behavior consistent
across endpoints.
๐ ์์ ํ ๋ด์ฉ
๐ ์ฐธ๊ณ ์ฌํญ
๐ผ๏ธ ์คํฌ๋ฆฐ์ท
๐ ๊ด๋ จ ์ด์
โ ์ฒดํฌ๋ฆฌ์คํธ
Summary by CodeRabbit
๋ฆด๋ฆฌ์ค ๋ ธํธ
๊ธฐ๋ฅ ์ ๊ฑฐ
๊ฐ์ ์ฌํญ
โ๏ธ Tip: You can customize this high-level summary in your review settings.