Learning
토픽 88 / 192·마이크로서비스와 API

API 설계 (API Design)

API 설계 (API Design)

시스템 간 또는 컴포넌트 간 상호작용을 위한 인터페이스를 정의하는 활동

API 유형

  • REST API: HTTP 기반, 자원 중심, 무상태
  • GraphQL: 쿼리 언어, 클라이언트 주도
  • gRPC: Protocol Buffer, 고성능, 양방향 스트리밍
  • WebSocket: 실시간 양방향 통신

REST API 설계 원칙

  • 자원 중심 URI (/users, /orders)
  • HTTP 메서드 활용 (GET, POST, PUT, DELETE)
  • 무상태 (Stateless)
  • 표준 상태 코드 (200, 201, 400, 404, 500)
  • 버전 관리 (/api/v1/)
  • HATEOAS (링크 제공)

API 문서화: OpenAPI(Swagger), API Blueprint

API 보안: API Key, OAuth 2.0, JWT, Rate Limiting

API 게이트웨이: Kong, AWS API Gateway, Apigee

비교: REST(자원중심/HTTP) vs GraphQL(쿼리/유연) vs gRPC(성능/타입)

연관: MSA, OpenAPI, 인증