سلام
من بخش Province رو مطابق همون کارهایی که برای City انجام دادیم پیاده سازی کردم.
اما وقتی که توی Postman درخواست GET ارسال میکنم پاسخی که دریافت میکنم تنها عدد ۱ هست.
هیچ پارامتری خاصی هم ارسال نمیکنم و صرفا میخوام لیست کامل استان ها رو دریافت کنم.
اشکال از چی میتونه باشه؟
سلام و احترام
مشکل از شرطی هستش که شما اول کدتون برای valid بودن کاربر استفاده کردید.
در اصل بهتره که شما not بودن اون شرط رو بررسی کنید تا هم کدتون خوانا تر باشه و هم کثیف نباشه. کافیه که شرطتونو به شکل زیر دربیارید.
if (!isValidToken($token))
Response::respondAndDie(['Invalid Token!'], Response::HTTP_UNAUTHORIZED);
براکت اضافه در آخر کد خودتون رو هم بردارید تا به خطای syntax بر نخورید
سلام
کوری سلکتت رو چک کن و همچنین بصورت معمولی بدون api سلکت کن توسط هموم تابعی که برای سلکت نوشتی ببین اطلاعاتی بهت میده احتمال زیاد مشکل از اونه اگر باز نتونستی حل کنی کد هات رو قرار بده تا بتونم کمکت کنم
سلام و احترام
یک بار قدم به قدم پروژه رو trace کن.
اول ببین که درخواست به سمت endpoint میره.
اگر داده از cache خونده میشه ببینید cache به درستی ذخیره میشه.
بعدش بررسی کنید که تابعی که برای شما مقادیر رو برمیگردونه خروجی مناسب میده
اگه امکانش بود کدهای خودتونو هم قرار بدید تا دقیق تر بررسی شه.
فایل index.php در پوشه provinces :
use \App\Services\ProvinceService;
use \App\Utilities\Response;
use \App\Utilities\CacheUtility;
$token = getBearerToken();
$user = isValidToken($token);
if (!$user) {
Response::respondAndDie(['Invalid Token!'], Response::HTTP_UNAUTHORIZED);
$request_method = $_SERVER['REQUEST_METHOD'];
$request_body = json_decode(file_get_contents('php://input'), true);
$province_service = new ProvinceService();
switch ($request_method) {
case 'GET':
$province_id = $_GET['province_id'] ?? null;
CacheUtility::start();
$request_data = [
'province_id' => $province_id,
'fields' => $_GET['fields'] ?? null,
'orderby' => $_GET['orderby'] ?? null,
'page' => $_GET['page'] ?? null,
'pagesize' => $_GET['pagesize'] ?? null,
];
$response = $province_service->getProvinces();
if (empty($response))
Response::respondAndDie($response, Response::HTTP_NOT_FOUND);
echo Response::respond($response, Response::HTTP_OK);
CacheUtility::end();
die();
تابع getProvinces در فایل iran.php :
function getProvinces($data = null)
{
global $pdo;
$sql = "select * from province";
$stmt = $pdo->prepare($sql);
$stmt->execute();
$records = $stmt->fetchAll(PDO::FETCH_OBJ);
return $records;
}