Sobes.tech
Junior — Middle

Πώς να στείλετε και να αποθηκεύσετε δεδομένα μέσω του REST API;

sobes.tech AI

Απάντηση από AI

Για την αποστολή και αποθήκευση δεδομένων μέσω του REST API σε PHP, μπορείτε να χρησιμοποιήσετε την ακόλουθη προσέγγιση:

  1. Αποστολή δεδομένων (μέρος πελάτη):

    • Χρησιμοποιήστε curl ή βιβλιοθήκες όπως το Guzzle για την αποστολή αιτημάτων HTTP.
    • Στείλτε τα δεδομένα σε μορφή JSON ή form-data.
  2. Επεξεργασία του αιτήματος στον διακομιστή:

    • Λάβετε τα εισερχόμενα δεδομένα από το php://input ή μέσω των παγκόσμιων πινάκων ($_POST, $_GET).
    • Αν τα δεδομένα ήρθαν σε αυτό το φορμάτ, αναλύστε το JSON.
    • Ελέγξτε και επικυρώστε τα δεδομένα.
    • Αποθηκεύστε τα δεδομένα σε βάση δεδομένων ή αρχείο.

Παράδειγμα αποστολής POST αιτήματος με JSON χρησιμοποιώντας curl σε PHP:

$data = ['name' => 'Иван', 'age' => 30];
$jsonData = json_encode($data);

$ch = curl_init('https://example.com/api/save');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonData);
$response = curl_exec($ch);
curl_close($ch);

echo $response;

Παράδειγμα επεξεργασίας στον διακομιστή:

// Λαμβάνουμε το JSON από το σώμα του αιτήματος
$input = file_get_contents('php://input');
$data = json_decode($input, true);

if ($data && isset($data['name'])) {
    // Εδώ η λογική αποθήκευσης, π.χ. σε βάση δεδομένων
    // ...
    echo json_encode(['status' => 'success']);
} else {
    http_response_code(400);
    echo json_encode(['status' => 'error', 'message' => 'Invalid data']);
}