fix: 금융쇼츠 목록이 빈 응답 본문에서 JSON 파싱 오류로 끊기던 문제
`video/pagination` 컨트롤러가 `ApiResponseVO`가 아니라 `null`을 돌려준다. 그러면 Spring이 봉투를 쓰지 않고 **본문이 통째로 빈** 200을 내려보내는데, `backendFetch`가 곧바로 `response.json()`을 불러 "Unexpected end of JSON input"으로 끊겼다. `data: null`은 이미 허용해 두었지만 그것은 봉투 안의 data가 null인 경우고, 이번 건은 봉투 자체가 없는 경우라 걸리지 않았다. 목록 조회에 `canHaveEmptyBody`를 켜서 본문을 먼저 글자로 읽고 비어 있으면 빈 목록으로 다룬다. 백엔드가 서비스를 붙이면 이 분기는 자연히 지나가지 않는다. Co-Authored-By: Claude Opus 5
@e6f73572ef7048cbac49f796a19bc56807cfafd7
--- lib/data/repositories/content-repository.ts
+++ lib/data/repositories/content-repository.ts
... | ... | @@ -19,8 +19,9 @@ |
| 19 | 19 |
* ``` |
| 20 | 20 |
* |
| 21 | 21 |
* 이슈: 경로가 `cntnts`가 아니라 **`cntntns`**다(백엔드 오타). 고쳐지면 아래 상수만 바꾼다. |
| 22 |
- * 이슈: `video/pagination` 컨트롤러가 `return null;`이라 금융쇼츠 목록은 늘 비어 온다. |
|
| 23 |
- * 서비스가 주입돼 있지 않아 프론트에서 우회할 방법이 없다. |
|
| 22 |
+ * 이슈: `video/pagination` 컨트롤러가 `return null;`이라 응답 봉투 없이 **본문이 통째로 빈** |
|
| 23 |
+ * 200이 온다(서비스가 주입돼 있지 않다). 그래서 목록 조회는 `canHaveEmptyBody`가 필요하고, |
|
| 24 |
+ * 금융쇼츠 목록은 늘 빈 목록으로 보인다. |
|
| 24 | 25 |
* 이슈: 등록·수정·삭제·단건조회 API가 없다. 아래 쓰기 함수는 다른 관리 화면과 같은 규약 |
| 25 | 26 |
* (`POST {base}` / `PUT {base}/{sn}` / `DELETE {base}/{sn}`)으로 미리 맞춰 둔 것이라
|
| 26 | 27 |
* 백엔드가 생기기 전에는 실패한다. |
... | ... | @@ -137,6 +138,7 @@ |
| 137 | 138 |
accessToken: accessToken ?? undefined, |
| 138 | 139 |
cache: 'no-store', |
| 139 | 140 |
canHaveNullData: true, |
| 141 |
+ canHaveEmptyBody: true, |
|
| 140 | 142 |
}); |
| 141 | 143 |
|
| 142 | 144 |
if (!result.ok) {
|
Add a comment
Delete comment
Once you delete this comment, you won't be able to recover it. Are you sure you want to delete this comment?