دکوراتورهای مسیر API
دکوراتورهای مسیر API برای تعریف مسیرهای HTTP در کلاسهای API استفاده میشوند.
api.get
برای تعریف مسیر GET استفاده میشود.
@api.get('/users')
async getUsers() {
// کد پیادهسازی
}
پارامترها
path: مسیر API (اختیاری، پیشفرض نام تابع)name: نام مسیر (اختیاری)
@api.get({ path: '/users', name: 'getUsers' })
async getUsers() {
// کد پیادهسازی
}
api.post
برای تعریف مسیر POST استفاده میشود.
@api.post('/users')
async createUser() {
// کد پیادهسازی
}
api.put
برای تعریف مسیر PUT استفاده میشود.
@api.put('/users/{id}')
async updateUser() {
// کد پیادهسازی
}
api.delete
برای تعریف مسیر DELETE استفاده میشود.
@api.delete('/users/{id}')
async deleteUser() {
// کد پیادهسازی
}
api.patch
برای تعریف مسیر PATCH استفاده میشود.
@api.patch('/users/{id}')
async patchUser() {
// کد پیادهسازی
}
api.some
برای تعریف چندین متد HTTP برای یک مسیر استفاده میشود.
@api.some(['get', 'post'], '/users')
async handleUsers() {
// کد پیادهسازی
}
api.includeCoreMiddlewares
برای اضافه کردن middlewareهای اصلی به مسیر استفاده میشود.
@api.includeCoreMiddlewares(['Authentication', 'RateLimit'])
@api.get('/protected')
async protectedRoute() {
// کد پیادهسازی
}
api.excludeCoreMiddlewares
برای حذف middlewareهای اصلی از مسیر استفاده میشود.
@api.excludeCoreMiddlewares(['Authentication'])
@api.get('/public')
async publicRoute() {
// کد پیادهسازی
}
api.includeFormData
برای اضافه کردن میان افزار FormData (برای آپلود فایل) استفاده میشود.
@api.includeFormData()
@api.post('/upload')
async uploadFile() {
// کد پیادهسازی
}
api.ignoreAuthentication
برای نادیده گرفتن احراز هویت در مسیر استفاده میشود.
@api.ignoreAuthentication()
@api.get('/public-data')
async getPublicData() {
// کد پیادهسازی
}
api.rateLimit
برای اعمال محدودیت نرخ درخواست استفاده میشود.
@api.rateLimit('strict', 'Too many requests', 429)
@api.get('/limited')
async limitedRoute() {
// کد پیادهسازی
}
پارامترها
profile: نام پروفایل محدودیت نرخmessage: پیام خطا (اختیاری)statusCode: کد وضعیت HTTP (اختیاری)