#P1427
POST /api/v2/get_country
Route Info
| Method | Endpoint | Controller | Middleware | Purpose |
| POST | /api/v2/get_country | UserController@getCitizen | authWithJwt | دریافت کشورها و ملیتهای فعال |
منطق عملکرد
- واکشی رکوردهای
Countryبا شرایط:status=1(فعال).fa_nationalityغیر تهی.
- انتخاب فیلدهای
id,iso,fa_nationality,en_nationality. - برگرداندن آرایه
countriesدر خروجی JSON. - در صورت خطا (Exception) ارسال پاسخ با کد وضعیت 400 و متن خطا.
پارامترهای ورودی
بدون پارامتر ورودی الزامی، تنها نیازمند JWT معتبر.
POST /api/v2/get_country Authorization: Bearer <JWT>
نمونه خروجی موفق
{
"status": true,
"time": 1732034600,
"data": {
"countries": [
{
"id": 118,
"iso": "IR",
"fa_nationality": "ایرانی",
"en_nationality": "Iranian"
},
...
]
}
}
**نمونه خطا:**
{
"status": false,
"error": "Database connection failed"
}
امنیت
- نیازمند JWT معتبر.
Dependencies
- Country Model
- Laravel Eloquent
کارایی
یک کوئری ساده SELECT، بسیار سریع (<3 ms).
مدیریت خطا
Try/Catch با خروجی JSON و کد وضعیت مناسب.
پیشنهاد بهبود
- افزودن کش Redis با TTL 24h برای کاهش بار دیتابیس.
جمعبندی
روت امکان بازیابی سریع لیست کشورها و ملیتها را برای مصرف در فرمها و انتخابها فراهم میکند.