Skip to main content
#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 برای کاهش بار دیتابیس.

جمع‌بندی

روت امکان بازیابی سریع لیست کشورها و ملیت‌ها را برای مصرف در فرم‌ها و انتخاب‌ها فراهم می‌کند.