?
사용자

API 설계 문서 초안 작성을 위한 AI 프롬프트 템플릿

새로운 API를 설계할 때, 필요한 정보를 체계적으로 구성하여 AI에게 전달하여 초기 설계 문서 초안을 빠르게 생성하세요.

#api design#documentation#prompt template#openapi#generative ai
recipe.sh
당신은 숙련된 API 설계 전문가입니다. 주어진 정보를 바탕으로 API 설계 문서의 초안을 작성해주세요. 문서는 다음과 같은 섹션을 포함해야 합니다. 각 섹션은 명확하고 간결하게 작성되어야 하며, 개발자가 API를 이해하고 사용하는 데 필요한 모든 정보를 담고 있어야 합니다.

**1. API 개요 (API Overview)**
*   **API 이름:** {{API 이름}}
*   **버전:** {{API 버전 (예: v1.0.0)}}
*   **설명:** {{API의 전체적인 목적과 기능을 간략하게 설명 (2-3문장)}}
*   **기대 효과:** {{이 API를 통해 얻을 수 있는 비즈니스적/기술적 이점}}

**2. 인증 및 권한 (Authentication & Authorization)**
*   **인증 방식:** {{OAuth 2.0, API Key, JWT, Basic Auth 등}}
*   **권한 모델:** {{사용자 역할 기반, 리소스 기반 등}}
*   **보안 고려사항:** {{민감 정보 처리 방안, IP 제한 등}}

**3. 엔드포인트 (Endpoints)**
각 엔드포인트에 대해 다음 정보를 상세히 기술해주세요.

*   **HTTP 메소드:** {{GET, POST, PUT, DELETE, PATCH 등}}
*   **경로 (Path):** {{예: /users, /products/{productId}}}
*   **설명:** {{이 엔드포인트가 수행하는 구체적인 기능}}
*   **요청 (Request):**
    *   **헤더 (Headers):** {{필수 헤더 (예: Authorization, Content-Type), 선택 헤더}}
    *   **경로 매개변수 (Path Parameters):** {{경로에 포함되는 동적 파라미터 (이름, 타입, 설명, 필수 여부)}}
    *   **쿼리 매개변수 (Query Parameters):** {{URL에 포함되는 검색/필터링 조건 (이름, 타입, 설명, 필수 여부, 기본값)}}
    *   **요청 본문 (Request Body):** {{JSON, XML 등 형식, 각 필드의 이름, 타입, 설명, 필수 여부, 제약 조건 (예: 문자열 길이, 숫자 범위)}}
        *   *예시 요청 본문:* {{JSON 형식의 예시}}
*   **응답 (Response):**
    *   **성공 응답 (Success Response):**
        *   **상태 코드:** {{200 OK, 201 Created 등}}
        *   **응답 본문 (Response Body):** {{JSON, XML 등 형식, 각 필드의 이름, 타입, 설명, 예시}}
            *   *예시 성공 응답 본문:* {{JSON 형식의 예시}}
    *   **오류 응답 (Error Response):**
        *   **상태 코드:** {{400 Bad Request, 401 Unauthorized, 404 Not Found, 500 Internal Server Error 등}}
        *   **응답 본문 (Error Body):** {{오류 코드, 메시지, 상세 설명 등 포함 구조 및 필드 정의}}
            *   *예시 오류 응답 본문:* {{JSON 형식의 예시}}

**4. 데이터 모델 (Data Models)**
API에서 사용되는 주요 데이터 구조를 정의합니다. 각 모델의 필드명, 타입, 설명, 제약 조건, 예시 값을 포함합니다.
*   **모델명:** {{예: User, Product}}
*   **필드:**
    *   `{{필드명}}`: {{타입}}, {{설명}}, {{필수 여부}}, {{제약 조건 (예: 이메일 형식, UUID 형식, 최소/최대값)}}, {{예시 값}}

**5. 페이징 및 정렬 (Pagination & Sorting)**
*   **페이징 방식:** {{Offset-based, Cursor-based 등}}
*   **파라미터:** {{페이징 관련 쿼리 파라미터 (예: limit, offset, page, cursor, nextCursor)}}
*   **응답 구조:** {{페이징된 결과를 포함하는 응답 본문 구조 (예: items, totalCount, nextLink)}}
*   **정렬:** {{지원하는 정렬 필드, 정렬 방향 (asc/desc) 처리 방법}}

**6. 속도 제한 (Rate Limiting)**
*   **정책:** {{요청 횟수 제한, 시간 단위 (예: 1분에 100회)}}
*   **헤더:** {{Rate Limit 관련 응답 헤더 (예: X-RateLimit-Limit, X-RateLimit-Remaining)}}
*   **초과 시 응답:** {{429 Too Many Requests 상태 코드 및 관련 메시지}}

**7. 버전 관리 (Versioning)**
*   **전략:** {{URL 경로 기반 ( /v1/users ), 헤더 기반 ( Accept: application/vnd.myapp.v1+json ), 쿼리 파라미터 기반 ( /users?version=1 ) 등}}
*   **변경 정책:** {{하위 호환성 유지 방안, Deprecation 정책}}

**8. 부가 정보 (Additional Information)**
*   **HTTP 상태 코드 목록:** {{자주 사용되는 HTTP 상태 코드와 그 의미 요약}}
*   **오류 코드 목록:** {{API 특정 오류 코드와 그 의미 요약}}
*   **SDK/라이브러리:** {{지원하는 경우 관련 정보}}
*   **변경 이력 (Changelog):** {{버전별 변경 사항 기록 방식 또는 링크}}

---
9
스크랩
40
좋아요
0
댓글
API 설계 문서 초안 작성을 위한 AI 프롬프트 템플릿