Cara Membuat API Di Laravel

Cara Membuat API Di Laravel  - Bagi kamu yang ingin membutuhkan API untuk keperluan code mendapatkan informasi atau mengirimkan data ke aplikasi lain. Kamu harus menggunakan helper dilaravel, Jadi bagi kamu yang belum tahu cara membuat helper laravel langsung pelajari dulu di berbagai informasi di internet atau klik disini.

Setelah kamu mempelajari helper tinggal copy saja code yang ada di dibawah ini. Tetapi buat dulu filenya ya. Kasih nama file tersebut dengan "Api.php" Lalu copy langsung Code dibawah ini dan tempelkan didalam file Api.php

<?php

/**~~~~~~~~~~~~~~~~~~~
 * To The Core System
 ~~~~~~~~~~~~~~~~~~~~~*/


namespace App\Helpers;
class Api {

    private static $cookie_path = '';
    private static $curl = [];

    public static function init($key)
    {
        self::$curl = curl_init();
        $timestamp = (int) microtime(true);
        self::$cookie_path = __DIR__ . "/cookies_{".$key."}.txt";
    }

    public static function send($url, $params = NULL, $type = 'GET', $headers = NULL, $timeout = 40, $ssl = false)
    {
        try 
        {
            if( empty(self::$curl) ){
                self::init('default');
            }
                     
            $cr = self::$curl;

            if($type == 'POST') {
                if(!empty($params)) $build_param = http_build_query($params);
                else $build_param = '';
                curl_setopt($cr, CURLOPT_POST, true);
                curl_setopt($cr, CURLOPT_POSTFIELDS, $build_param);
            } elseif($type == 'POST-RAW') {
                curl_setopt($cr, CURLOPT_POST, true);
                curl_setopt($cr, CURLOPT_POSTFIELDS, $params);
            } elseif($type == 'POST-JSON') {            
                curl_setopt($cr, CURLOPT_CUSTOMREQUEST, "POST");
                curl_setopt($cr, CURLOPT_POSTFIELDS, json_encode($params));
               // print(json_encode($params));
            } elseif($type == 'GET') {
                if(!empty($params)) $url .= '?' . http_build_query($params);
            } else {            
                return '';
            }

            if ($headers && !empty($headers))
                curl_setopt($cr, CURLOPT_HTTPHEADER, $headers);

            curl_setopt($cr, CURLOPT_URL, $url);
            curl_setopt($cr, CURLOPT_TIMEOUT, $timeout);
            curl_setopt($cr, CURLOPT_CONNECTTIMEOUT, $timeout);
            curl_setopt($cr, CURLOPT_USERAGENT, "Mozilla/7.0 (compatible; MSIE 9.0; Windows NT 5.1)");
            curl_setopt($cr, CURLOPT_RETURNTRANSFER, true);
            curl_setopt($cr, CURLOPT_SSL_VERIFYPEER, $ssl);
            curl_setopt($cr, CURLOPT_FOLLOWLOCATION, true);
            curl_setopt($cr, CURLOPT_COOKIESESSION, true);
            curl_setopt($cr, CURLOPT_COOKIEJAR, self::$cookie_path);
            curl_setopt($cr, CURLOPT_FAILONERROR, true);

            $response = curl_exec($cr);
            if($errno = curl_errno($cr) || curl_error($cr)) {
                $error_message = curl_strerror($errno);
                $response = json_encode([
                    'codestatus' => 'E',
                    'resultdata' => [
                        'curl_errno'        => $errno,
                        'curl_message'      => $error_message,
                        'curl_error_raw'    => curl_error($cr),
                        'http_code'         => curl_getinfo($cr, CURLINFO_HTTP_CODE),
                    ],
                    'message'   => 'Error CURL #1'
                ]);
            }

            return $response;
        } 
        catch (Exception $e) 
        {
            return json_encode([
                'codestatus'    => 'E',
                'message'       => $e->getMessage(),
            ]);
        }
    }
}

?>

Mudah bukan, Lalu bagaimana cara penggunaanya. Nah untuk penggunaanya cukup mudah. Pertama tama pastikan sudah berada di file controller laravelnya. Lalu paste kode dibawah ini. Ingat kode dibawah ini hanya contoh pemanggilanya saja. untuk URLnya silahkan cari saja sesuai dengan keinginan.

use Api ;

class HomeController extends Controller
{

   $url = "http//www.cuaca.com/indonesia";
   $param = array( "provinsi" => "23", "kab" => 3);
   $header = array("token" => "GB566GHT67878KLKL675656");

   $dataCuaca = Api::send($url,$param,"post");
    return $dataCuaca;

}

Untuk menggunakan   use Api ;  kamu harus sudah mendaftarkan Helper Api di config laravelnya. Baik mungkin itu yang bisa saya bantu. tak perlu pusing lagi memikirkan kode untuk membuat apinya. Tinggal pakai saja ok
Muhammad Miftahul Ulum

MuhammadMiftahulUlum.com merupakan blog informasi didirikan mulai tahun 2014 blog ini berbagi tentang informasi dari pengalaman, tips dan trik, komentar dari sisi penulis. Saya adalah seorang yang selalu ingin belajar tentang banyak hal dan membagikan apapun tentang banyak hal.

Diberdayakan oleh Blogger.