8000 fix: 개발자 요청 API의 null JSON 본문 500 오류 수정 by Jacob-9909 · Pull Request #271 · hmmhmmhm/daiso-mcp · GitHub
[go: up one dir, main page]

Skip to content

fix: 개발자 요청 API의 null JSON 본문 500 오류 수정 - #271

Merged
hmmhmmhm merged 1 commit into
hmmhmmhm:mainfrom
Jacob-9909:fix/feedback-null-body
Oct 16, 2026
Merged

hmmhmmhm merged 1 commit into
hmmhmmhm:mainfrom
Jacob-9909:fix/feedback-null-body

Conversation

@Jacob-9909
Copy link
Copy Markdown
Contributor

변경 요약

  • POST /api/feedback/requests에 JSON 본문으로 null을 보내면 readJsonBody가 null을 그대로 반환하고, normalizeInput에서 raw.type 접근 시 TypeError가 발생해 500 DEVELOPER_REQUEST_SUBMIT_FAILED("Cannot read properties of null (reading 'type')")로 응답했습니다.
  • 파싱 결과가 객체가 아니면 깨진 JSON과 동일하게 빈 요청으로 처리하도록 수정해, 이제 400 MISSING_FEEDBACK_TITLE을 반환합니다.

관련 이슈

  • 없음

체크리스트

  • npm run format:check 통과
  • npm run lint 통과
  • npm run typecheck 통과
  • npm test 통과
  • 필요 시 문서(README/CONTRIBUTING) 업데이트
  • 민감 정보(API 키/토큰/개인정보) 미포함 확인

테스트 방법

npm run check
npx vitest run --coverage

tests/app/app-api-feedback.test.ts에 null 본문 케이스를 추가했습니다. 수정 전 코드에서는 이 테스트가 expected 500 to be 400으로 실패하고, 수정 후 통과합니다.

참고 사항

  • npm run check 구성 명령(format:check, lint, lint:biome, typecheck, check:source-lines, test)을 Docker node:24 컨테이너에서 실행했고 모두 통과했습니다(테스트 3619개). 커버리지는 100% 임계값을 유지합니다.
  • npm run build, wrangler dev는 실행하지 않았습니다.
  • 배열([])이나 숫자 등 다른 JSON 값은 기존에도 필수값 400으로 처리되어 동작이 바뀌지 않습니다.

@Jacob-9909
Jacob-9909 requested a review from hmmhmmhm as a code owner October 16, 2026 01:01
@hmmhmmhm hmmhmmhm self-assigned this Oct 16, 2026
@hmmhmmhm hmmhmmhm added the bug Something isn't working label Oct 16, 2026
@hmmhmmhm
Copy link
Copy Markdown
Owner

확인해보니 오류가 잘 해결됐고 테스트도 모두 통과했습니다. 회귀 테스트까지 추가해주셔서 감사합니다. CI 확인 후 병합하겠습니다.

@hmmhmmhm
hmmhmmhm merged commit 1cb77b3 into hmmhmmhm:main Oct 16, 2026
8 checks passed
@Jacob-9909
Jacob-9909 deleted the fix/feedback-null-body branch October 16, 2026 01:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

0