WEBBOOK CHAPTER

10년 뒤에도 깨지지 않는 API 설계: 1장. API는 함수가 아니라 조직 간 약속이다

1장. API는 함수가 아니라 조직 간 약속이다

API는 구현을 숨기는 동시에 소비자의 코드·운영·지원 일정을 묶는 계약이다. 사용자 결과, 데이터 소유권, 변경 책임, 지원 기간을 먼저 정하고 URL을 설계한다. 내부 DB row를 그대로 노출하지 않는다.

손쉽게 따라 하기

Partner가 예약을 만들고 취소하는 여정과 책임 경계를 작성한다. 입력에는 실제 고객·계정·도메인 대신 tenant-demo, example.invalid와 저장소 fixture만 사용한다. 시작 전 기대 결과와 바꾸지 않을 불변식을 한 줄로 적는다.

같은 화면에서 확인할 증거

lab/public/index.html의 공통 FieldPass Evidence Board에서 책 slug durable-api-design, 장 번호 1, run ID를 선택한다. 입력, 판정, 관측값, rollback을 채우고 명령 결과와 같은지 확인한다. 성공 화면만 캡처하지 않고 의도한 실패 하나와 다음 안전 행동을 함께 남긴다.

막혔을 때

controller 목록부터 시작했다면 소비자의 의사결정으로 돌아간다. 원인을 확정하기 전 최근 변경, 환경, 권한, 시간 범위와 실제 오류를 고정한다. 외부 서비스를 반복 호출하지 않고 로컬 fixture로 최소 재현한 뒤 한 변수만 바꾼다. 복구는 process 상태가 아니라 FieldPass 예약·결제·정산의 업무 결과로 선언한다.