@API_CLIENT_CONTROLLER
public function reservationPost(Request $request){
// $response = Http::post('https://xxxxx/api/13/reservation',[
// 'name' => 'ahmet'
// ]);
// return $response->json();
$client = new \GuzzleHttp\Client();
$response = $client->post( 'xxxxx/api/13/reservation', [
'json' => [ //form_params olarak göndermeye çalışmayın gitmiyor! accept json işaretledik!!!
'name' => $request->name,
],
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json', // bunu eklemezsek geri dönüşler html olarak oluyor
],
'http_errors' => false, //validationlara takılırsa hata mesajı dönüyor ./düzeltmek için
]);
$callback_message = json_decode($response->getBody()->getContents());
// if ($res->getStatusCode() == 200) { // 200 OK
// $response_data = $res->getBody()->getContents();
// }
return view('reservation',[
'errors' => $callback_message->errors ?? '',
'success' => $callback_message->success ?? '',
]);
}
@API_CLIENT_VIEW[reservation.blade.php]
@if ($errors ?? '')
@foreach ($errors as $error)
<div class="card-panel red darken-1">
<span class="white-text">{{ $error[0] }}</span>
</div>
@endforeach
@endif
@if ($success ?? '')
<div class="card-panel green darken-1">
<div class="center">
<span class="white-text">{{ $success }}</span>
</div>
</div>
@endif
<form class="col s12" method="post" action="{{route('reservationPost')}}">
@csrf
<div class="col s12">
<input name="name" type="text" placeholder="İsim" required>
</div>
<div class="center">
<button class="button">Rezervasyon Yap!</button>
</div>
</form>
@API_CLIENT_ROUTE[web.php][Laravel 8.x]
use App\Http\Controllers\RestorantController;
Route::post('/rezervasyon', [RestorantController::class, 'reservationPost'])->name('reservationPost');
-----------------------------------------
@API_SERVER_CONTROLLER
public function postReservation($id, Request $request)
{
//Validate first
$request->validate([
'name' => ['required'],
],
[
'name.required' =>'İsim alanı boş olamaz.',
]
);
$reservation = new Reservations;
$reservation->name = strip_tags($request->name);
$reservation->save();
return response()->json([
'status' => true,
'success' => 'Rezervasyon talebiniz başarıyla alındı.'
]);
}