InertiaJS, Laravel tətbiqlərində frontend və backend'i vahid axında birləşdirmək üçün məşhur bir vasitədir. Lakin bəzən eyni məlumatları həm Inertia komponentlərinə, həm də kənar API müştərilərinə təqdim etmək lazım olur. Bu halda adətən iki çətin yol var: ya hər kontrollerə if ($request->wantsJson()) yoxlaması əlavə etmək, ya da eyni məlumatı qaytaran ayrıca API marşrutları yaratmaq. Hər iki üsul praktiki deyil.
Fransız tərtibatçı Emilien Kopp bu problemi həll etmək üçün inertia-split adlı açıq mənbə paketini hazırlayıb. Paket Laravel kontrollerlərinə HasHybridResponses treytini əlavə etməklə, həm Inertia, həm də JSON cavablarını avtomatik idarə edir. Kontrollerdə heç bir əlavə yoxlama yazmağa ehtiyac qalmır – sadəcə respond() metodu ilə komponenti göstərmək kifayətdir. Inertia sorğuları üçün Svelte, Vue və ya React komponenti render olunur, digər sorğular isə birbaşa JSON alır.
Daha da sadə bir istifadə üsulu: mövcud API metoduna #[InertiaComponent('Users/Show')] anotasiyası əlavə etmək. Metodun gövdəsi dəyişmir, ancaq Inertia sorğuları üçün avtomatik olaraq həmin komponent render olunur. Paket həmçinin Inertia’nın ResponseFactory sinifini öz hibrid versiyası ilə əvəz etməyə imkan verir. Bu, servis provayderində bir sətir dəyişikliyi ilə həyata keçirilir.
Layihə hələ beta mərhələsindədir, lakin artıq GitHub'da mövcuddur. Əgər siz də InertiaJS ilə işləyir və eyni məlumatları həm frontend, həm də API üçün təqdim etmək istəyirsinizsə, bu paket vaxtınıza qənaət edə bilər.


