Helper cURL sederhana PHP untuk mengakses API dengan method GET POST PUT dan DELETE

Helper cURL sederhana PHP untuk mengakses API dengan method GET POST PUT dan DELETE

Pada pembahasan kali ini saya akan membahas bagaimana cara mengakses API dengan cURL PHP. Pada artikel ini saya akan membagikan sebuah helper sederhana untuk mengakses API menggunakan cURL. Helper ini mendukung 4 method, yakni GET, POST, PUT dan DELETE.

Saya asumsikan pembaca sekalian sudah memahami dasar-dasar dari PHP, jadi saya tidak akan menjelaskan kode helper ini secara baris per baris. Kurang lebih seperti ini bentuk helpernya.


<?php
  function makeApiRequest($url, $params = [], $method = 'GET') {
    // Initialize cURL session
    $ch = curl_init($url);

    // Set common cURL options
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // Return the response as a string instead of outputting it
    
    // Set method-specific cURL options
    if ($method === 'POST') {
        curl_setopt($ch, CURLOPT_POST, true);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
    } elseif ($method === 'PUT') {
        curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PUT');
        curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
    } elseif ($method === 'DELETE') {
        curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'DELETE');
    } elseif ($method === 'GET') {
        // Append parameters to the URL for GET requests
        if (!empty($params)) {
            $url .= '?' . http_build_query($params);
        }
    }
    
    // Execute cURL session and get the response
    $response = curl_exec($ch);

    // Check for cURL errors
    if (curl_errno($ch)) {
        echo 'Curl error: ' . curl_error($ch);
    }

    // Close cURL session
    curl_close($ch);

    // Return the API response
    return $response;
  }
?>

HOW TO USAGE?

Kemudian cara menggunakannya kurang lebih sebagai berikut :

GET

// Example usage for GET request
$name = 'kim';
$countryId = 'US';
$api_url_get = 'https://api.example.io';
$params_get = [
    'name' => $name,
    'country_id' => $countryId,
];

$responseGet = makeApiRequest($api_url_get, $params_get, 'GET');
echo "GET Response: $responseGet\n";

POST

// Example usage for POST request
$api_url_post = 'https://api.example.com/posts';
$params_post = [
    'title' => 'New Post',
    'content' => 'This is the content of the new post.',
];

$responsePost = makeApiRequest($api_url_post, $params_post, 'POST');
echo "POST Response: $responsePost\n";

PUT

// Example usage for PUT request
$api_url_put = 'https://api.example.com/123';
$params_put = [
    'title' => 'Updated Post',
    'content' => 'This is the updated content of the post.',
];

$responsePut = makeApiRequest($api_url_put, $params_put, 'PUT');
echo "PUT Response: $responsePut\n";

DELETE

// Example usage for DELETE request
$api_url_delete = 'https://api.example.com/123';
$responseDelete = makeApiRequest($api_url_delete, [], 'DELETE');
echo "DELETE Response: $responseDelete\n";


Kamu juga dapat melihat kodenya di Gist Github, berikut link-nya:
https://gist.github.com/dyazincahya/dc6c947a984794db35e45f0a2aed35ea

Kurang lebih sekian dahulu, semoga artikel ini bermanfaat untuk kamu. kurang lebihnya saya ucapkan mohon maaf dan terima kasih :)



0/Post a Comment/Comments

Lebih baru Lebih lama