← 도서 서고로 돌아가기
BOOK DETAIL · YES24

웹 개발자를 위한 API 디자인 패턴

사용자 친화적이고 유지보수 가능한 웹 API 만들기

JJ 지웍스 저/전성빈 역

에이콘출판사2025.09.30 출간
YES24 판매지수438
쪽수668쪽
YES24 판매가
10%37,800원42,000원
YES 포인트 2,100원판매중
YES24에서 구매·혜택 확인 (새 창)

최종 가격과 배송·적립 혜택은 YES24에서 확인해주세요.

INTRODUCTION

책 소개

API 설계로 고민하는 모든 분께
복잡한 웹 API 세계의 길잡이가 되어 줄 단 하나의 책!

『웹 개발자를 위한 API 디자인 패턴』, 드디어 출간!

개발자라면 누구나 경험해봤을 것이다. 새로운 웹 API를 마주할 때마다 반복되는 감정의 롤러코스터를. 흥분, 당혹감, 짜증, 순응, 그리고 끝으로 꺼림칙한 평온함까지. 이 모든 것은 단순한 CRUD 메서드로는 해결되지 않는 세계다.

『웹 개발자를 위한 API 디자인 패턴』은 이 복잡하고 중요한 세계를 체계적으로, 실용적으로 풀어낸 필독서다. 구글 출신의 API 디자인 전문가 JJ 지웍스가 실무 경험을 바탕으로 다양한 웹 API 설계의 핵심 패턴을 정리한 이 책은, 난해한 개념을 현실적인 예제와 연계하여 설명했으며, 이론적 접근과 실무적 해결책을 조화롭게 결합하여 개발자들로부터 높은 평가를 받았다.

CONTENTS

목차

추천의 글
지은이 소개
지은이의 말
감사의 말
옮긴이 소개
옮긴이의 말
들어가며

1부. 서론

1장 API 소개
1.1 웹 API
1.2 API의 중요성
1.3 리소스 지향 API
1.4 ‘좋은’ API
1.4.1 운영성
1.4.2 표현성
1.4.3 단순함
1.4.4 예측 가능성
요약

2장 API 디자인 패턴 소개
2.1 API 디자인 패턴
2.2 왜 API 디자인 패턴이 중요한가?
2.3 API 디자인 패턴 분석
2.3.1 이름과 시놉시스
2.3.2 동기
2.3.3 개요
2.3.4 구현
2.3.5 트레이드오프
2.4 사례 연구: Twapi, 트위터 모사 API
2.4.1 개요
2.4.2 메시지 목록
2.4.3 데이터 내보내기
요약

2부 디자인 원칙

3장 이름 붙이기
3.1 왜 이름이 중요한가?
3.2 ‘좋은’ 이름이란 무엇인가?
3.2.1 표현성
3.2.2 단순성
3.2.3 예측 가능성
3.3 언어, 문법, 구문
3.3.1 언어
3.3.2 문법
3.3.3 구문
3.4 맥락
3.5 데이터 타입과 단위
3.6 사례 연구: 나쁜 이름을 붙이면 어떤 일이 일어나는가?
3.7 연습문제
요약

4장 리소스 범위와 계층
4.1 리소스 레이아웃이란?
4.1.1 관계 타입
4.1.2 개체 관계 다이어그램
4.2 올바른 관계 선택
4.2.1 관계를 세워야 하는가?
4.2.2 참조와 인라인 데이터
4.2.3 계층 관계
4.3 안티패턴
4.3.1 모든 것의 리소스화
4.3.2 깊은 계층 관계
4.3.3 모든 것의 인라인화
4.4 연습문제
요약

5장 데이터 타입과 기본값
5.1 데이터 타입 개괄
5.1.1 누락 vs null
5.2 불리언
5.3 숫자
5.3.1 상하한
5.3.2 기본값
5.3.3 직렬화
5.4 문자열
5.4.1 상하한
5.4.2 기본값
5.4.3 직렬화
5.5 열거형
5.6 리스트
5.6.1 원자성
5.6.2 상하한
5.6.3 기본값
5.7 맵
5.7.1 상하한
5.7.2 기본값
5.8 연습문제
요약

3부 기초 패턴

6장 리소스 식별
6.1 식별자의 뜻
6.2 좋은 식별자란?
6.2.1 용이성
6.2.2 고유성
6.2.3 영속성
6.2.4 신속성과 생성의 용이함
6.2.5 예측 불가능성
6.2.6 가독성, 공유성, 검증성
6.2.7 정보 밀도
6.3 좋은 식별자의 형태
6.3.1 데이터 타입
6.3.2 문자 세트
6.3.3 식별자 포맷
6.3.4 체크섬
6.3.5 리소스 타입
6.3.6 계층과 고유 범위
6.4 식별자 구현
6.4.1 크기
6.4.2 식별자 생성
6.4.3 묘석화
6.4.4 체크섬
6.4.5 데이터베이스 스토리지
6.5 UUID
6.6 연습문제
요약

7장 표준 메서드
7.1 서론
7.2 개괄
7.3 구현
7.3.1 어떤 메서드를 지원해야 하는가?
7.3.2 멱등성과 부수 효과
7.3.3 get
7.3.4 list
7.3.5 create
7.3.6 update
7.3.7 delete
7.3.8 replace
7.3.9 최종 API 정의
7.4 트레이드오프
7.5 연습문제
요약

8장 부분 업데이트와 부분 취득
8.1 서론
8.1.1 부분 취득
8.1.2 부분 업데이트
8.2 개괄
8.3 구현
8.3.1 전달
8.3.2 맵과 중첩 인터페이스
8.3.3 반복적 필드
8.3.4 기본값
8.3.5 묵시적 필드 마스크
8.3.6 동적 데이터 구조 업데이트
8.3.7 유효하지 않은 필드
8.3.8 최종 API 정의
8.4 트레이드오프
8.4.1 보편 지원
8.4.2 기타 구현
8.5 연습문제
요약

9장 사용자 메서드
9.1 서론
9.1.1 표준 메서드를 쓰면 안 될까?
9.2 개요
9.3 구현
9.3.1 부수 효과
9.3.2 리소스 vs 컬렉션
9.3.3 무상태 사용자 메서드
9.3.4 최종 API 정의
9.4 트레이드오프
9.5 연습문제
요약

10장 장기 실행 작업
10.1 서론
10.2 개요
10.3 구현
10.3.1 LRO의 형태
10.3.2 리소스 계층
10.3.3 이행
10.3.4 에러 처리
10.3.5 진행 사항 모니터링
10.3.6 작업 취소
10.3.7 작업 일시 정지 및 재개
10.3.8 작업 탐색
10.3.9 영속성
10.3.10 최종 API 정의
10.4 트레이드오프
10.5 연습문제
요약

11장 재수행 가능 작업
11.1 서론
11.2 개괄
11.3 구현
11.3.1 잡 리소스
11.3.2 run 사용자 메서드
11.3.3 잡 실행 리소스
11.3.4 최종 API 정의
11.4 트레이드오프
11.5 연습문제
요약

4부 리소스 관계

12장 싱글톤 서브리소스
12.1 서론
12.1.1 왜 싱글톤 서브리소스를 사용해야 하는가?
12.2 개괄
12.3 구현
12.3.1 표준 메서드
12.3.2 재설정
12.3.3 계층 구조
12.3.4 최종 API 정의
12.4 트레이드오프
12.4.1 원자성
12.4.2 단일 서브리소스 조건
12.5 연습문제
요약

13장 교차 참조
13.1 서론
13.2 개괄
13.3 구현
13.3.1 참조 필드 이름
13.3.2 데이터 무결성
13.3.3 값 대 참조
13.3.4 최종 API 정의
13.4 트레이드오프
13.5 연습문제
요약

14장 연관 리소스
14.1 서론
14.2 개괄
14.2.1 연관성 별칭 메서드
14.3 구현
14.3.1 연관 리소스 이름붙이기
14.3.2 표준 메서드 동작
14.3.3 고유성
14.3.4 읽기 전용 필드
14.3.5 연관 별칭 메서드
14.3.6 참조 무결성
14.3.7 최종 API 정의
14.4 트레이드오프
14.4.1 복잡성
14.4.2 연관성 분리
14.5 연습문제
요약

15장 add 및 remove 사용자 메서드
15.1 서론
15.2 개괄
15.3 구현
15.3.1 연관 리소스 나열
15.3.2 데이터 무결성
15.3.3 최종 API 정의
15.4 트레이드오프
15.4.1 비상호관계
15.4.2 관계 메타데이터
15.5 연습문제
요약

16장 다형성
16.1 서론
16.2 개괄
16.3 구현
16.3.1 다형성 리소스 사용 여부 결정
16.3.2 다형성 구조
16.3.3 다형성 동작
16.3.4 왜 다형성 메서드를 사용하지 않는가?
16.3.5 최종 API 정의
16.4 트레이드오프
16.5 연습문제
요약

5부 선택적 작업

17장 복사와 이동
17.1 서론
17.2 개괄
17.3 구현
17.3.1 식별자
17.3.2 자식 리소스
17.3.3 관련 리소스
17.3.4 외부 데이터
17.3.5 상속 메타데이터
17.3.6 원자성
17.3.7 최종 API 정의
17.4 트레이드오프
17.5 연습문제
요약

18장 배치 작업
18.1 서론
18.2 개괄
18.3 구현
18.3.1 원자성
18.3.2 컬렉션 작업
18.3.3 결과 정렬
18.3.4 공통 필드
18.3.5 부모 간 작업
18.3.6 배치 get
18.3.7 배치 delete
18.3.8 배치 create
18.3.9 배치 update
18.3.10 최종 API 정의
18.4 트레이드오프
18.5 연습문제
요약

19장 기준 기반 삭제
19.1 서론
19.2 개괄
19.3 구현
19.3.1 결과 필터링
19.3.2 기본 검증 제한
19.3.3 결과 개수
19.3.4 결과 샘플 세트
19.3.5 일관성
19.3.6 최종 API 정의
19.4 트레이드오프
19.5 연습문제
요약

20장 익명 기록
20.1 서론
20.2 개괄
20.3 구현
20.3.1 일관성
20.3.2 최종 API 정의
20.4 트레이드오프
20.5 연습문제
요약

21장 페이징
21.1 서론
21.2 개괄
21.3 구현
21.3.1 페이지 크기
21.3.2 페이지 토큰
21.3.3 총 개수
21.3.4 리소스 내부 페이징
21.3.5 최종 API 정의
21.4 트레이드오프
21.4.1 양방향 페이징
21.4.2 임의 윈도우
21.5 안티패턴: 오프셋과 한도
21.6 연습문제
요약

22장 필터링
22.1 서론
22.2 개괄
22.3 구현
22.3.1 구조
22.3.2 필터 문법 및 동작
22.3.3 최종 API 정의
22.4 트레이드오프
22.5 연습문제
요약

23장 가져오기와 내보내기
23.1 서론
23.2 개괄
23.3 구현
23.3.1 import 및 export 메서드
23.3.2 스토리지 시스템 상호작용
23.3.3 리소스-바이트 변환
23.3.4 일관성
23.3.5 식별자와 충돌
23.3.6 관련 리소스
23.3.7 실패와 재시도
23.3.8 필터링 및 필터 마스크
23.3.9 최종 API 정의
23.4 트레이드오프
23.5 연습문제
요약

6부 안전과 보안

24장 버전 작성과 호환성
24.1 서론
24.2 개괄
24.2.1 호환성이란
24.2.2 하위 호환성 정의
24.3 구현
24.3.1 영구적 안정성
24.3.2 애자일 불안정성
24.3.3 시맨틱 버전 작성
24.4 트레이드오프
24.4.1 세세함 vs 단순함
24.4.2 안정성 vs 새 기능
24.4.3 만족도 vs 범용성
24.5 연습문제
요약

25장 논리 삭제
25.1 서론
25.2 개괄
25.3 구현
25.3.1 삭제 지시
25.3.2 표준 메서드 수정
25.3.3 삭제 취소
25.3.4 말소
25.3.5 만료
25.3.6 참조 무결성
25.3.7 다른 메서드에의 영향성
25.3.8 버전 간 논리 삭제
25.3.9 최종 API 정의
25.4 트레이드오프
25.5 연습문제
요약

26장 요청 중복 방지
26.1 서론
26.2 개괄
26.3 구현
26.3.1 요청 식별자
26.3.2 응답 캐싱
26.3.3 일관성
26.3.4 요청 ID 충돌
26.3.5 캐시 만료
26.3.6 최종 API 정의
26.4 트레이드오프
26.5 연습문제
요약

27장 요청 검증
27.1 서론
27.2 개괄
27.3 구현
27.3.1 외부 의존성
27.3.2 특수 부수 효과
27.3.3 최종 API 정의
27.4 트레이드오프
27.5 연습문제
요약

28장 리소스 리비전
28.1 서론
28.2 개괄
28.3 구현
28.3.1 리비전 식별자
28.3.2 리비전 생성
28.3.3 특정 리비전 취득
28.3.4 리비전 목록 나열
28.3.5 과거 리비전 되돌리기
28.3.6 리비전 삭제
28.3.7 자식 리소스 다루기
28.3.8 최종 API 정의
28.4 트레이드오프
28.5 연습문제
요약

29장 요청 재시도
29.1 서론
29.2 개괄
29.2.1 클라이언트 측 재시도 타이밍
29.2.2 서버 특정 재시도 타이밍
29.3 구현
29.3.1 재시도 가능성
29.3.2 지수 백오프
29.3.3 Retry-After
29.3.4 최종 API 정의
29.4 트레이드오프
29.5 연습문제
요약

30장 요청 인증
30.1 서론
30.1.1 근원
30.1.2 무결성
30.1.3 부인봉쇄
30.2 개괄
30.3 구현
30.3.1 자격증명 생성
30.3.2 등록과 자격증명 교환
30.3.3 로우 서명 생성 및 검증
30.3.4 요청 핑거프린팅
30.3.5 서명 포함
30.3.6 요청 인증
30.3.7 최종 API 정의
30.4 트레이드오프
30.5 연습문제
요약

찾아보기

AUTHOR

작가 소개

JJ 지웍스(JJ GEEWAX) 저

구글에서 소프트웨어 엔지니어로 일했으며, 실시간 결제 시스템, 클라우드 인프라 스트럭처, API 디자인을 주 업무로 삼고 있다. 『실습으로 완성하는 구글 클라우드 플랫폼 인 액션』(제이펍, 2019)의 저자이며, 구글에서 시작해 업계 전체에 걸친 API 디자인 표준 협업체인 API.dev를 공동으로 창설했다. 싱가포르에서 아내인 카엘(Ka-el), 아들 루카(Luca)와 함께 살고 있다.

BOOK INFORMATION

도서 정보

출판사
에이콘출판사
출간일
2025.09.30
ISBN13
9791161759944
ISBN10
1161759948
상품 유형
도서
쪽수
668쪽
크기
188 × 253 × 35mm
YES24도서 정보 제공 · YES24정보 업데이트 2026.10.11 07:17 (한국 시간)

이 페이지에는 제휴 링크가 포함되어 있습니다. 링크를 통한 구매 시 잡학서고에 수수료가 지급될 수 있습니다.

가격·판매 상태·혜택은 바뀔 수 있으며, 최종 정보는 YES24에서 확인해주세요.