isset API dediğimiz iki uygulamanın haberleşmesini sağlayan bir mekanizma. JSON ise bu haberleşmede kullanılan bir veri tipi, mesajın kendisi. Siz API yazmayacaksanız, yani JSON bir response vermeyecekseniz JSON'ı internal olarak ne amaçla kullanacaksınız? PHP ile kullanamazsınız, json_decode ile yine array ya da objeye çevirip kullanabilirsiniz, madem öyle yapacaksınız en başta niye JSON'a çeviriyorsunuz? Ben bunu veri tabanına kaydedeceğim diyorsanız neden Responsable bir objeye çevirme gereği duyuyorsunuz, amacınız sadece stringe dönüştürüp tabloya yazmak değil mi? json_encode yapılması yeterli değil mi?
Verdiğiniz linkin giriş cümlesi When building an API ile başlıyor evet ama devamında da JSON responses that are actually returned to your application's users. diyor. Siz ise ben API yazmayacağım, yani JSON response vermeyeceğim ama JSON response veren bir obje kullanabilir miyim diyorsunuz.
Inertia konusuna gelince, Intertia sizin oluşturduğunuz rotayı component içinden axios isteği atarak API şeklinde kullanıyor çünkü render ettiğiniz bir Vue componenti ve PHP'den oraya veri aktarmanın yolu JSON repsonse. Aslında orada anlık bir API oluşuyor, Inertia bunu Inertia::render ile kendisi yapıyor.
Şimdi de somut bir örnek vereyim:
$usersJson = UserResource::collection(User::all())
->jsonSerialize();
İşte, resource kullanarak json elde ettim. Şimdi bunla ne yapacaksınız? 🙂 Bu artık string bir ifade. Ya application/json olarak http response vereceksiniz ya da alıp bir yere kaydedeceksiniz.
Kısaca, evet kullanabilirsiniz ama elde ettiğiniz sonuçla ne yapacaksınız bilmiyorum 🙂