API

[API] RESTful을 적용한 API명세서 간단 정리

believekim 2025. 4. 3. 22:07

 

API(Application Programming Interface) 명세서는 API의 동작 방식과 사용 방법을 문서화한 것으로
클라이언트와 서버가 원활하게 통신할 수 있도록 돕는 역할을 한다.

 

 

1. API 명세서가 필요한 이유

  • 개발자 간 소통 원활화 (백엔드 ↔ 프론트엔드)
  • 일관된 API 설계 유지
  • 유지보수 및 확장 용이
  • API 테스트 및 디버깅 편의성 증가

 

2. RESTul API의 적용

  • RESTful API는 예측 가능한 구조를 가지고 있어서 개발자가 API를 처음 봐도 직관적으로 사용 가능
POST /users → 사용자 생성

GET /users → 사용자 목록 조회

GET /users/{userId} → 특정 사용자 조회

PUT /users/{userId} → 사용자 정보 전체 수정

PATCH /users/{userId} -> 사용자 정보 일부 수정

DELETE /users/{userId} → 사용자 삭제

 

3. API 명세서 기본 양식

항목 설명
API 이름 API의 기능을 간략히 설명
요청 URL API의 엔드포인트 주소
HTTP 메서드 GET, POST, PUT, DELETE 등 요청 방식
요청 헤더 인증 토큰, Content-Type 등의 정보
요청 파라미터 쿼리 또는 경로 변수 (필수 여부 포함)
요청 바디 JSON 등 요청 본문 (POST, PUT 요청 시)
응답 상태 코드 200(성공), 400(잘못된 요청), 500(서버 오류) 등
응답 예시 JSON 형태로 응답 데이터 제공
에러 코드 예외 발생 시 반환되는 코드와 메시지

 

4. 간단 예제

API 이름 HTTP URL 요청 방식 요청 데이터 응답 데이터  응답 코드
일정 생성 POST /api/schedules body { "title": "제목", "contents": "내용" } { "id": 1, "title": "제목", "contents": "내용" } 201 Created
일정 전체 조회 GET /api/schedules - - [ { "id": 1, "title": "제목", "contents": "내용" }, { ... }, ... ] 200 OK
일정 단일 조회 GET /api/schedules/{scheduleId} Path Variable scheduleId: 1 { "id": 1, "title": "제목", "contents": "내용" } 200 OK / 404 Not Found
일정 전체 수정 PUT /api/schedules/{scheduleId} Path Variable, Body scheduleId: 1, { "title": "제목", "contents": "내용" } { "id": 1, "title": "제목수정", "contents": "내용수정" } 200 OK / 404 Not Found
일정 부분 수정 PATCH /api/schedules/{scheduleId} Path Variable, Body  scheduleId: 1, { "title": "제목부분수정" } { "id": 1, "title": "제목부분수정", "contents": "내용" } 200 OK / 404 Not Found
일정 삭제 DELETE /api/schedules/{scheduleId} Path Variable scheduleId: 1 - 204 No Content / 404 Not