عدم دریافت لیست استان ها

پرسیده شده
فعالیت 1261 روز پیش
دیده شده 513 بار
0

سلام

من بخش Province رو مطابق همون کارهایی که برای City انجام دادیم پیاده سازی کردم. 

اما وقتی که توی Postman درخواست GET ارسال میکنم پاسخی که دریافت میکنم تنها عدد ۱ هست. 

هیچ پارامتری خاصی هم ارسال نمیکنم و صرفا میخوام لیست کامل استان ها رو دریافت کنم.

اشکال از چی میتونه باشه؟ 

فایل پیوست

Hamed Hardani
Hamed Hardani

1 آذر 99

1
حذف شده

سلام و احترام

مشکل از شرطی هستش که شما اول کدتون برای valid بودن کاربر استفاده کردید. 

در اصل بهتره که شما not بودن اون شرط رو بررسی کنید تا هم کدتون خوانا تر باشه و هم کثیف نباشه. کافیه که شرطتونو به شکل زیر دربیارید.

if (!isValidToken($token))
    Response::respondAndDie(['Invalid Token!'], Response::HTTP_UNAUTHORIZED);

براکت اضافه در آخر کد خودتون رو هم بردارید تا به خطای syntax بر نخورید

 

فایل پیوست

امیر صالحی

توسط

امیر صالحی

3 آذر 99

0
حذف شده

سلام 

کوری سلکتت رو چک کن و همچنین بصورت معمولی بدون api سلکت کن توسط هموم تابعی که برای سلکت نوشتی ببین اطلاعاتی بهت میده احتمال زیاد مشکل از اونه اگر باز نتونستی حل کنی کد هات رو قرار بده تا بتونم کمکت کنم  

فایل پیوست

میثم نصرتی

توسط

میثم نصرتی

1 آذر 99

حذف شده
کوئری اوکیه و مشکلی نداره. بدون API هم اطلاعات رو بهم میده همون تابع. کدهام رو میفرستم ببینید. ممنونم
Hamed Hardani

2 آذر 99

0
حذف شده

سلام و احترام

یک بار قدم به قدم پروژه رو trace کن.

اول ببین که درخواست به سمت endpoint میره.

اگر داده از cache خونده میشه ببینید cache به درستی ذخیره میشه.

بعدش بررسی کنید که تابعی که برای شما مقادیر رو برمیگردونه خروجی مناسب میده

اگه امکانش بود کدهای خودتونو هم قرار بدید تا دقیق تر بررسی شه.

فایل پیوست

امیر صالحی

توسط

امیر صالحی

2 آذر 99

حذف شده
بررسی کردم و همه چی بنظر درست میاد. کش هم خاموشه. اما خروجی همچنان همونه. کدها رو اضافه میکنم. ممنون میشم یه بررسی بفرمایید
Hamed Hardani

2 آذر 99

حذف شده
اینو هم فراموش کردم بگم که Status پاسخ دریافتی 200 OK هست.
Hamed Hardani

2 آذر 99

0
حذف شده

فایل 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;
}
فایل پیوست

Hamed Hardani

توسط

Hamed Hardani

2 آذر 99