sd077
sd077

Reputation: 483

How to send data from controller to rest api in laravel?

How can I send data from controller to external api in Laravel?

public function syncData(Request $request)
{
    $datas = Data::all();
    $newDatas = NewData::all();
    $url = 'mydomain.com/api/sync-data';
}

I want to send $datas and $newDatas to $url through Laravel controller and perform some actions on those data. How can I achieve that?

Upvotes: 0

Views: 1829

Answers (2)

lph
lph

Reputation: 89

You could use the Laravel HTTP Client (which is a wrapper for Guzzle HTTP Client) to perform a request to that API.

use Illuminate\Support\Facades\Http;

$response = Http::post('mydomain.com/api/sync-data', [
    'data' => Data::all(),
    'newdata' => NewData::all(),
]);

Upvotes: 2

Atik Hashmee
Atik Hashmee

Reputation: 393

public function syncData(Request $request)
{
    $datas = Data::all();
    $newDatas = NewData::all();
    $url = 'mydomain.com/api/sync-data';
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS,  json_encode($datas));
        $output = curl_exec($ch);
        curl_close($ch);  
}

let me know if it is helpful. important things to notice here. you have to know what your external API type is. is it POST or in GET method. my example above is just a sample code to make you understand how you will use curl it is not tested in regard to your context

Upvotes: 1

Related Questions