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:
-
Envio de dados (parte do cliente):
- Use
curlou bibliotecas como Guzzle para enviar pedidos HTTP. - Envie os dados em formato JSON ou form-data.
- Use
-
Processamento do pedido no servidor:
- Obtenha os dados recebidos de
php://inputou 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.
- Obtenha os dados recebidos de
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']);
}