In this tutorial we’re going to learn how to send the data from one microservice to another microservice using api in laravel.
1st step go to below path
Route::get('webaccess/{id}', [App\Http\Controllers\Api\WebAccessApiController::class, 'getWebAccess'])->name('webaccess');
Next go to below function and put below code
public function getWebAccess(Request $request,$id)
{
$userAuthId = $request->userAuthId;
Log::info('auth id me kya aa rha hai'.$userAuthId);
try {
Log::info('SD_WEBSITE_ACCESS_MS_ALL_URL: ' . Config::get('app.SD_WEBSITE_ACCESS_MS_ALL_URL'));
$access_token = $this->getWebAccessToken();
$url = ''
. Config::get('app.SD_WEBSITE_ACCESS_MS_BASE_URL')
. Config::get('app.SD_WEBSITE_ACCESS_MS_ALL_URL')
. '/'
. $id;
Log::info('Got the access token from WebAccessApiController::getWebAccessToken(). Now fetching Web Access Data!');
Log::info('ALL WebAccess URL: ' . $url);
$guzzleClient = new Client(); //GuzzleHttp\Client
$headers = [
'Accept' => 'application/json',
'Authorization' => 'Bearer ' . $access_token,
'X-User-Auth-Id' => $userAuthId,
];
$params = [
'headers' => $headers,
];
$response = $guzzleClient->request('GET', $url, $params);
Log::info('Got the Response from SD WebAccess MS');
Log::info('Store hone ke baad index page par value aa raha hai !');
$json = json_decode($response->getBody()->getContents(), true);
Log::info('Number of objects in response: ' . count($json['data']));
return $json;
} catch (\Exception $e) {
Log::info('There was some exception in WebAccessApiController->getWebAccess()');
return $e->getResponse()->getStatusCode() . ':' . $e->getMessage();
}
}
Next go to another microservice api and put below code
Route::get('/webaccess/{id}', [App\Http\Controllers\Api\WebAccessApiController::class, 'index']);
Next go to second microservice controller function and put below code
public function index(Request $request, $id)
{
$input = $request->all();
$userAuthId = $request->header('X-User-Auth-Id');
log::info('userAuthId webaccess me kyaa aa rha hai' . $userAuthId);
$WebAccess = WebAcces::where('admin_id', $userAuthId)->get();
log::info('first webaccess me kyaa aa rha hai' . $WebAccess);
$response = [
'success' => true,
'data' => WebAccesResource::collection($WebAccess),
'message' => 'Manager WebAcces retrieved successfully.',
'count' => count($WebAccess),
];
return response()->json($response, 200);
}
Now data is coming successfully.