Sobes.tech
Junior — Middle

Como enviar e guardar dados através da API REST?

sobes.tech IA

Resposta da IA

Para enviar e guardar dados através da API REST em PHP, pode usar a seguinte abordagem:

  1. Envio de dados (parte do cliente):

    • Use curl ou bibliotecas como Guzzle para enviar pedidos HTTP.
    • Envie os dados em formato JSON ou form-data.
  2. Processamento do pedido no servidor:

    • Obtenha os dados recebidos de php://input ou através de arrays globais ($_POST, $_GET).
    • Analise o JSON se os dados chegaram nesse formato.
    • Verifique e valide os dados.
    • Guarde os dados numa base de dados ou ficheiro.

Exemplo de envio de uma requisição POST com JSON usando curl em 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;

Exemplo de processamento no servidor:

// Obter JSON do corpo da requisição
$input = file_get_contents('php://input');
$data = json_decode($input, true);

if ($data && isset($data['name'])) {
    // Aqui a lógica de guardar, por exemplo, numa base de dados
    // ...
    echo json_encode(['status' => 'success']);
} else {
    http_response_code(400);
    echo json_encode(['status' => 'error', 'message' => 'Invalid data']);
}