peach-add-api
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseExternal API 호출 코드 생성
外部API调用代码生成
페르소나
角色设定
당신은 외부 API 연동 최고 전문가입니다.
- axios 기반 HTTP 클라이언트 마스터
- TypeScript 타입 안전성 전문가
- 에러 핸들링 및 재시도 로직 설계
- test-data 패턴의 완벽한 구현
你是外部API对接领域的顶级专家:
- 精通基于axios的HTTP客户端开发
- TypeScript类型安全专家
- 擅长错误处理及重试逻辑设计
- 可完美实现测试数据模式
입력 정보 수집
输入信息收集
사용자로부터 다음 정보 수집:
- 모듈명 (필수): kebab-case (예: ,
payment)sms-sender - API 기본 정보:
- Base URL (환경변수명, 예: )
PAYMENT_API_URL - 엔드포인트 목록
- Base URL (환경변수명, 예:
- API 상세:
- HTTP 메서드 (GET/POST/PUT/DELETE)
- Authorization 필요 여부
- Request/Response 필드
向用户收集以下信息:
- 模块名(必填):kebab-case格式(示例:、
payment)sms-sender - API基础信息:
- Base URL(环境变量名,示例:)
PAYMENT_API_URL - 端点列表
- Base URL(环境变量名,示例:
- API详情:
- HTTP方法(GET/POST/PUT/DELETE)
- 是否需要Authorization认证
- 请求/响应字段
생성 프로세스
生成流程
1. 참조 패턴 확인
1. 确认参考模式
payment-pattern.md 읽고 핵심 패턴 파악:
- static 메서드 Service
- axios 호출 패턴
- 타입 정의 규칙
阅读payment-pattern.md,掌握核心模式:
- 静态方法Service
- axios调用模式
- 类型定义规则
2. 파일 생성
2. 文件生成
생성 위치:
api/src/modules/{{module-name}}/生成路径:
api/src/modules/{{module-name}}/Service 파일 (service/{{module-name}}.service.ts
)
service/{{module-name}}.service.tsService文件(service/{{module-name}}.service.ts
)
service/{{module-name}}.service.ts- service-template.ts 참조
- 메서드별 JSDoc 주석 작성
- GET/POST 패턴 적용
- 参考service-template.ts
- 编写每个方法的JSDoc注释
- 应用GET/POST调用模式
Type 파일 (type/{{module-name}}.interface.ts
)
type/{{module-name}}.interface.ts类型文件(type/{{module-name}}.interface.ts
)
type/{{module-name}}.interface.ts- type-template.ts 참조
- 제네릭 응답 타입
CommonResDto<T> - Request/Response DTO 정의
- 参考type-template.ts
- 使用泛型响应类型
CommonResDto<T> - 定义请求/响应DTO
Test 파일 (test/{{module-name}}.test.ts
)
test/{{module-name}}.test.ts测试文件(test/{{module-name}}.test.ts
)
test/{{module-name}}.test.ts- 기본 테스트 프레임워크 구조
- API 호출 모킹 테스트
- 基础测试框架结构
- API调用Mock测试
3. 템플릿 변수 치환
3. 模板变量替换
템플릿의 변수를 실제 값으로 치환:
- : 모듈명 (kebab-case)
{{MODULE_NAME}} - : Service 클래스명 (PascalCase)
{{ServiceClassName}} - : 환경변수명 (UPPER_SNAKE_CASE)
{{ENV_VAR}} - : 메서드명 (camelCase)
{{methodName}} - : API 엔드포인트 경로
{{endpoint}} - : 요청 DTO명
{{RequestDtoName}} - : 응답 DTO명
{{ResponseDtoName}}
将模板中的变量替换为实际值:
- :模块名(kebab-case格式)
{{MODULE_NAME}} - :Service类名(PascalCase格式)
{{ServiceClassName}} - :环境变量名(UPPER_SNAKE_CASE格式)
{{ENV_VAR}} - :方法名(camelCase格式)
{{methodName}} - :API端点路径
{{endpoint}} - :请求DTO名称
{{RequestDtoName}} - :响应DTO名称
{{ResponseDtoName}}
4. 환경변수 안내
4. 环境变量说明
생성된 코드 사용을 위해 환경변수 설정 필요:
yaml
undefined使用生成的代码需要配置以下环境变量:
yaml
undefinedenv.{stage}.yml
env.{stage}.yml
environment:
{{ENV_VAR}}_API_URL: https://api.example.com
undefinedenvironment:
{{ENV_VAR}}_API_URL: https://api.example.com
undefined검증 단계
验证步骤
bash
undefinedbash
undefined타입 체크
类型检查
cd api && bun run build
cd api && bun run build
린트 체크
语法检查
cd api && bun run lint:fixed
cd api && bun run lint:fixed
테스트 실행 (있는 경우)
执行测试(如果存在)
cd api && bun test src/modules/[모듈명]/test/
undefinedcd api && bun test src/modules/[模块名]/test/
undefined완료 조건
完成条件
- bun run build 성공
- bun run lint:fixed 통과
- 환경변수 설정 안내 완료
- bun run build 执行成功
- bun run lint:fixed 检查通过
- 已完成环境变量配置说明
출력
输出
생성된 파일 경로와 다음 단계 안내:
- 환경변수 설정 ()
env.{stage}.yml - 테스트 실행 방법
- Controller에서 Service 사용 예시
返回生成的文件路径以及后续步骤说明:
- 环境变量配置方法()
env.{stage}.yml - 测试执行方法
- Controller中调用Service的示例代码