ai-coding-mines목차GitHub

상태 필드의 이름이 상태를 뜻하지 않는다

쓰기 API

세 가지가 한꺼번에 나왔다.

1. 판매를 중지해도 statusName'승인완료'로 유지된다.

실제 판매 여부는 별도 엔드포인트의 onSale·재고수량에 있다. 승인 상태와 판매 상태는 다른 축이다.

2. 삭제된 항목도 statusName='상품삭제'로 조회된다.

존재 여부로 삭제를 판정하면 안 된다. 목록에 있으니 살아있다고 읽으면 이미 지워진 걸 다시 처리한다. 이 오판으로 배치 두 개가 20~30분마다 같은 일을 무한 반복했다.

3. 상태 문자열이 접두어를 공유한다.

임시저장임시저장중별개 문자열로 둘 다 존재한다.

if status == '임시저장':      # 임시저장중을 누락한다
if status.startswith('임시저장'):   # 이게 맞다

상태값을 ==로 비교하기 전에 실제로 존재하는 값을 전수로 뽑아본다. 문서에 없는 값이 나온다.