개발일기

프론트와 백엔드 협업 시 API 명세 잘 만드는 법: 실무에서 바로 쓰는 작성 팁

뱅우 2025. 5. 27. 10:55
반응형

프론트와 백엔드 협업 시 API 명세 잘 만드는 법: 실무에서 바로 쓰는 작성 팁

“프론트에서 어떤 파라미터 주면 돼요?”
“백엔드에서 응답 형식 어떻게 와요?”

개발 프로젝트에서 이런 질문이 반복된다면, API 명세가 부족한 것일 수 있습니다.

이번 글에서는 실무에서 효과적인 협업을 위한 API 문서 작성 팁실제 예시를 정리해드립니다.


✅ API 명세란?

API 명세는 프론트와 백엔드가 “무엇을 어떻게 주고받는지” 약속하는 문서입니다.
예상 가능한 결과, 빠른 개발, 오류 감소를 위해 필수입니다.


📋 명세서에 꼭 들어가야 하는 항목

항목 설명
API URL 요청 주소 (ex: /api/users/login)
Method GET / POST / PUT / DELETE 등
Request Parameter 요청 시 전달할 데이터 (ex: JSON Body, QueryString)
Response 응답 형식 (성공/실패 시 JSON 구조)
Status Code 200 / 400 / 401 / 403 / 500 등

🧾 실제 예시: 로그인 API 명세

[POST] /api/users/login

📨 Request Body
{
  "email": "user@example.com",
  "password": "12345678"
}

✅ Success Response (200 OK)
{
  "userId": 1,
  "nickname": "개발자",
  "token": "eyJhbGciOiJIUzI1NiIsInR5cCI..."
}

❌ Error Response (401 Unauthorized)
{
  "error": "INVALID_PASSWORD",
  "message": "비밀번호가 일치하지 않습니다."
}

💡 요청과 응답의 구조를 예시와 함께 적는 것이 가장 중요합니다.


🧠 실무에서의 API 명세 팁

  • 가능하면 Postman, Swagger 등으로 공유
  • API마다 성공/실패 응답 예시 꼭 작성
  • 상태 코드 의미 통일 (ex: 400은 파라미터 오류, 401은 인증 실패)
  • 프론트/백 모두 사용하는

🛠 API 명세 작성 도구 추천

  • Swagger / SpringDoc: Spring 프로젝트 자동화 도구
  • Postman: 팀 협업용 명세 공유 및 테스트
  • Stoplight / Insomnia: UI 기반 API 작성 도구
  • Google Docs or Notion: 경량 텍스트 기반 협업에 적합

📌 마무리 정리

항목
Request 필드 이름/타입/필수 여부 명확히 작성
Response 성공/실패 구조 구분 + 상태 코드
공통 에러 정의 프론트에서도 공통 처리 가능하도록 코드/메시지 정의
도구 Swagger, Postman 활용해 자동화 또는 협업 공유

반응형