Junior — Middle
Πώς να στείλετε και να αποθηκεύσετε δεδομένα μέσω του REST API;
sobes.tech AI
Απάντηση από AI
Για την αποστολή και αποθήκευση δεδομένων μέσω του REST API σε PHP, μπορείτε να χρησιμοποιήσετε την ακόλουθη προσέγγιση:
-
Αποστολή δεδομένων (μέρος πελάτη):
- Χρησιμοποιήστε
curlή βιβλιοθήκες όπως το Guzzle για την αποστολή αιτημάτων HTTP. - Στείλτε τα δεδομένα σε μορφή JSON ή form-data.
- Χρησιμοποιήστε
-
Επεξεργασία του αιτήματος στον διακομιστή:
- Λάβετε τα εισερχόμενα δεδομένα από το
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']);
}