Skip to content

Commit 007bd48

Browse files
fix(safety): 안전시설 페이징 입력값 검증 추가 (#72)
1 parent b242b29 commit 007bd48

1 file changed

Lines changed: 9 additions & 4 deletions

File tree

backend/src/main/java/com/ssafy/salmanhae/service/safety/ingest/AbstractJsonSafetyFacilityOpenApiClient.java

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -48,14 +48,19 @@ List<NormalizedSafetyFacility> fetchPagedJson(String baseUrl, String serviceKey)
4848
if (baseUrl == null || baseUrl.isBlank()) {
4949
return List.of();
5050
}
51+
int pageSize = properties.pageSize();
52+
if (pageSize <= 0) {
53+
log.warn("Invalid page size {} for {} safety facilities", pageSize, payloadName);
54+
return List.of();
55+
}
5156
List<NormalizedSafetyFacility> facilities = new ArrayList<>();
5257
int pageNo = 1;
5358
int totalCount = -1;
54-
while (pageNo <= MAX_PAGES && (totalCount < 0 || (pageNo - 1) * properties.pageSize() < totalCount)) {
59+
while (pageNo <= MAX_PAGES && (totalCount < 0 || (long) (pageNo - 1) * pageSize < totalCount)) {
5560
URI uri = UriComponentsBuilder.fromUriString(baseUrl)
5661
.queryParam("serviceKey", serviceKey)
5762
.queryParam("pageNo", pageNo)
58-
.queryParam("numOfRows", properties.pageSize())
63+
.queryParam("numOfRows", pageSize)
5964
.queryParam("type", "json")
6065
.queryParam("returnType", "json")
6166
.build()
@@ -81,7 +86,7 @@ List<NormalizedSafetyFacility> fetchPagedJson(String baseUrl, String serviceKey)
8186
ParsedSafetyFacilityPage page;
8287
try {
8388
page = parsePage(root);
84-
} catch (IllegalArgumentException exception) {
89+
} catch (RuntimeException exception) {
8590
log.warn("Failed to parse {} safety facilities from {}", payloadName, baseUrl, exception);
8691
break;
8792
}
@@ -92,7 +97,7 @@ List<NormalizedSafetyFacility> fetchPagedJson(String baseUrl, String serviceKey)
9297
break;
9398
}
9499
facilities.addAll(page.facilities());
95-
if (page.rawItemCount() < properties.pageSize()) {
100+
if (page.rawItemCount() < pageSize) {
96101
break;
97102
}
98103
pageNo++;

0 commit comments

Comments
 (0)