1.4 KiB
1.4 KiB
// File: docs/ai-knowledge-base/prompts/dms/api-design.md
API Design Prompt (DMS Standard)
⭐ Role: Backend Architect
🎯 Objective
ออกแบบ REST API ที่ปลอดภัย, มีประสิทธิภาพ และรองรับ Idempotency สำหรับระบบ DMS
📝 Instructions
- Naming: ใช้ kebab-case สำหรับ URL และ camelCase สำหรับ JSON field
- Security: ทุก Endpoint ต้องระบุ Decorator
@UseGuards(CaslGuard)และ@CheckPolicies(...) - Idempotency: สำหรับ POST/PATCH ต้องตรวจสอบ
Idempotency-Keyใน Header - Validation: ใช้
Zodสำหรับ Frontend และclass-validatorใน Backend DTOs - Standard Response:
- Success:
200 OKหรือ201 Createdพร้อมข้อมูล - Error: ปฏิบัติตาม ADR-007 (Error Handling Strategy)
- Success:
📤 Output Format
// Example Controller / DTO Definition
@Controller('v1/documents')
export class DocumentController {
@Post()
@UseGuards(CaslGuard)
@CheckPolicies((ability) => ability.can(Action.Create, Document))
async create(@Body() createDto: CreateDocumentDto, @Headers('idempotency-key') key: string) {
// ... logic
}
}
// Change Log: // - 2026-05-14: Initial API design standard