Laravel'deki REST API nedir: Bilmeniz gereken her şey

Yayınlanan: 2022-11-03

Dünya tamamen mobil cihazları kullanma ve çevrimiçi çözümler arama kolaylığına yöneliyor. Web tasarımı ve web geliştirme, günümüz dünyasında büyük ölçüde ilerlemektedir.

Web sitesi geliştirme, mobil uygulama geliştirmeyi de kapsadığından, talebin çoğu akıllı telefonlara çevrildi. Bununla birlikte, mobil uygulamalar için arka uç, dinlendirici API gerektirir.

REST API'nin ne olduğunu bilmiyorsanız, sorun değil! Seni koruduk.

Bu blogda restful API'nin ne olduğunu ve nasıl çalıştığını anlatacağım. Ayrıca Laravel'de dinlendirici bir API nasıl geliştirilir onu da anlatacağım.

Başlayalım…

REST API nedir?

API, bir cihazı başka bir cihaza bağlamamıza yardımcı olan uygulama programlama arayüzüdür, örneğin eş, canlı bir web sitemiz var ve şimdi bir mobil uygulama oluşturmak istiyoruz, böylece verileri cihaza bağlamak için API oluşturacağız, JSON kullanmamız gerekiyor cihaza aktarılacak veriler, böylece bu yalnızca API ile yapılabilir.

Bazen ağ communicatREST API'sine veya Temsili Durum Aktarım API'sine ihtiyaç duyulur.

O nasıl çalışır?

İlk önce sistemimize laravel uygulamasını yüklememiz gerekiyor, böylece daha fazla ilerlememize yardımcı olacak laravel resmi belgelerini takip edebiliriz. İşte laravel uygulamasını yüklemek için izlenebilecek belgenin bağlantısı:

http://laravel.com/

Uygulamayı yüklemek için lütfen bu komutu kullanın, ancak lütfen sisteminizde besteci olması gerektiğinden emin olun, besteci uygulamadaki tüm bağımlılıkları yüklemeye yardımcı olan bir bağımlılık aracı olduğundan, bu bağlantıyı takip edebilirsiniz:

https://getcomposer.org/download/

Besteci kurduktan sonra laravel'i indirebilirsiniz, lütfen şu komutu kullanın:

besteci yarat-proje --tercih-dist laravel/laravel laravel-sanctum-auth

Proje yüklendikten sonra, .ENV dosyasında veritabanı detayını ayarlamanız gerekir, bu nedenle veritabanı nane'inizi ENV dosyasına doldurmanız yeterlidir.

O nasıl çalışır Bir sonraki adım API paketini kurmaktır. Mevcut birçok paket var, ancak seçiminize göre kurabilirsiniz.

Bu yüzden paketi kurmak için laravel belgelerinde verilen komutu takip etmelisiniz. Sanctum'u kullanacağım için şu komutu kullanacağım:

besteci laravel/sanctum gerektirir

  Bu komutu çalıştırdıktan sonra paketim yüklenecek ve kullanıma hazır olacak. Sadece aşağıdaki ekran görüntüsünü takip edin: nasıl çalışır 2

Paket kurulumunu bitirdikten sonraki adım, veritabanı için model oluşturmaktır. Doğrudan veritabanına bağlanacak bir mod ve geçiş oluşturacağız,

app/Models/User.php dosyası.

<?php

ad alanı Uygulama\Modeller;

Illuminate\Contracts\Auth\MustVerifyEmail'i kullanın;

Illuminate\Database\Eloquent\Factories\HasFactory'yi kullanın;

Illuminate\Foundation\Auth\User'ı Kimlik Doğrulanabilir olarak kullanın;

Illuminate\Bildirimler\Bildirilebilir'i kullanın;

// kutsal alan

laravel\Sanctum\HasApiTokens kullanın;

sınıf Kullanıcı Kimliği Doğrulanabilir'i genişletir

{

HasApiTokens, HasFactory, Bildirilebilir'i kullanın;

 

/**

* Toplu atanabilir nitelikler.

*

* @var dizisi

*/

korumalı $doldurulabilir = [

'isim',

'e-posta',

'şifre',

];

 

/**

* Diziler için gizlenmesi gereken nitelikler.

*

* @var dizisi

*/

korumalı $gizli = [

'şifre',

'remember_token',

];

 

/**

* Yerel türlere atılması gereken nitelikler.

*

* @var dizisi

*/

korumalı $yayınlar = [

'email_verified_at' => 'tarihsaat',

];

}

nasıl çalışır 3

  Şimdi bir denetleyici oluşturmamız gerekiyor, bu yüzden lütfen denetleyici oluşturmak için bu komutu kullanın.

Php artisan make::controller DENETLEYİCİ ADI

app/Http/Controllers/API/BaseController.php dosyası:

<?php



ad alanı App\Http\Controllers\API;

Illuminate\Http\Request'i kullanın;

App\Http\Controllers\Controller'ı Controller olarak kullanın;



class BaseController, Controller'ı genişletir

{

/**

* başarı yanıt yöntemi.

*

* @return \Illuminate\Http\Response

*/

genel işlev sendResponse($sonuç, $mesaj)

{

$yanıt = [

'başarı' => doğru,

'veri' => $sonuç,

'mesaj' => $mesaj,

];

 

dönüş yanıtı()->json($cevap, 200);

}



/**

* dönüş hatası yanıtı.

*

* @return \Illuminate\Http\Response

*/

genel işlev sendError($hata, $hataMesajları = [], $kod = 404)

{

$yanıt = [

'başarı' => yanlış,

'mesaj' => $hata,

];

 

if(!empty($hataMesajları)){

$yanıt['veri'] = $hataMesajları;

}

 

dönüş yanıtı()->json($cevap, $kod);

}

}

Lütfen unutmayın: API oluşturduğumuzda, JSON'da her zaman durum koduyla yanıt göndeririz.

nasıl çalışır 4

API için her zaman auth belirteci oluştururuz. Bu, belirteç oluşturulacak ve doğrulanacaksa, kullanıcıların kimliğini doğrulayabileceğimiz anlamına gelir.

<?php

ad alanı App\Http\Controllers\API;

Illuminate\Http\Request'i kullanın;

App\Http\Controllers\API\BaseController'ı BaseController olarak kullanın;

Illuminate\Support\Facades\Auth'u kullanın;

Doğrulayıcıyı kullanın;

Uygulama\Modeller\Kullanıcı'yı kullanın;

AuthController sınıfı BaseController'ı genişletir

{

public function login(Request $request)

{

if(Auth::attempt(['email' => $request->email, 'password' => $request->password])){

$authUser = Yetki::kullanıcı();

$success['token'] = $authUser->createToken('MyAuthApp')->plainTextToken;

$success['name'] = $authUser->name;

return $this->sendResponse($success, 'Kullanıcı oturum açtı');

}

başka{

return $this->sendError('Yetkisiz.', ['hata'=>'Yetkisiz']);

}

}

genel işlev kaydı(İstek $ request)

{

$doğrulayıcı = Doğrulayıcı::make($request->all(), [

'isim' => 'gerekli',

'e-posta' => 'gerekli|e-posta',

'şifre' => 'gerekli',

'confirm_password' => 'gerekli|aynı:şifre',

]);

if($validator->fails()){

return $this->sendError('Hata doğrulama', $validator->errors());

}

$girdi = $request->all();

$input['şifre'] = bcrypt($input['şifre']);

$kullanıcı = Kullanıcı::create($input);

$success['token'] = $user->createToken('MyAuthApp')->plainTextToken;

$success['isim'] = $kullanıcı->isim;

return $this->sendResponse($success, 'Kullanıcı başarıyla oluşturuldu.');

}

}

Bu rota dosyası:

nasıl çalışır 5 Son olarak, projeyi çalıştırmak için şu komutu çalıştırmamız gerekiyor:

php esnaf servisi

toparlamak

API'ler, sosyal ağlardan finansal uygulamalara kadar günümüzün en popüler web sitelerinin ve hizmetlerinin çoğuna güç sağlar. Bu blogda, Laravel'de REST API ile tanıştınız. Bunun, REST API'nin ne olduğunu ve nasıl çalıştığını anlamanız için bir temel oluşturduğunu umuyoruz.

Web geliştirme hizmetleri arıyorsanız, daha fazla aramanıza gerek yok. webdew'de, iş web sitenizi tasarlamak ve oluşturmak için yetenekli web tasarımcıları ve geliştiricilerinden oluşan proaktif bir ekip bulabileceksiniz. Daha fazla bilgi için bizimle iletişime geçin.