laravel の REST API とは: 知っておくべきことすべて

公開: 2022-11-03

世界は完全に、モバイル デバイスを簡単に使用できるようになり、オンラインでソリューションを探す方向に進んでいます。 Web デザインと Web 開発は、今日の世界で大幅に進歩しています。

ウェブサイトの開発にはモバイルアプリの開発も含まれるため、需要のほとんどはスマートフォンに向けられています。 そうは言っても、モバイルアプリの場合、バックエンドには安らかな API が必要です。

REST API が何かわからなくても大丈夫です。 私たちはあなたをカバーしました。

このブログでは、Restful API とは何か、およびその仕組みについて説明します。 また、Laravel で RESTful API を開発する方法についても説明します。

始めましょう…

REST API とは何ですか?

API は、あるデバイスを別のデバイスに接続するのに役立つアプリケーション プログラミング インターフェースです。たとえば、配偶者には 1 つの Web サイトがあり、今は 1 つのモバイル アプリを構築したいので、データをデバイスに接続するための API を作成します。JSON を使用する必要があります。データをデバイスに渡して、これを API のみで実行できるようにします。

場合によっては、ネットワーク communicatREST API または Representational State Transfer API が必要になることがあります。

それはどのように機能しますか?

最初に、システムにlaravelアプリをインストールする必要があります。これにより、さらに先に進むのに役立つlaravelの公式ドキュメントに従うことができます。 laravel アプリケーションをインストールするためにたどることができるドキュメントのリンクは次のとおりです。

http://laravel.com/

アプリをインストールするには、このコマンドを使用してください。ただし、システムに composer があることを確認してください。composer は、アプリケーションにすべての依存関係をインストールするのに役立つ依存関係ツールであるため、次のリンクをたどることができます。

https://getcomposer.org/download/

composer をインストールしたら、laravel をダウンロードできます。次のコマンドを使用してください。

composer create-project --prefer-dist laravel/laravel laravel-sanctum-auth

プロジェクトがインストールされたら、データベースの詳細を .ENV ファイルに設定する必要があるため、ENV ファイルにデータベース nane を入力するだけです。

それはどのように機能しますか 次のステップは、API パッケージをインストールすることです。 利用可能なパッケージは多数ありますが、選択したとおりにインストールできます。

したがって、パッケージをインストールするには、 laravel documentation に記載されているコマンドに従う必要があります。 Sanctum を使用するので、次のコマンドを使用します。

composer require laravel/sanctum

  このコマンドを実行すると、パッケージがインストールされ、使用できるようになります。 以下のスクリーンショットに従ってください。 それはどのように機能しますか 2

パッケージのセットアップが完了したら、次のステップはデータベースのモデルを作成することです。 直接データベースに接続する 1 つのモードと移行を作成します。

app/Models/User.php ファイル。

<?php

名前空間アプリ\モデル;

Illuminate\Contracts\Auth\MustVerifyEmail を使用します。

Illuminate\Database\Eloquent\Factories\HasFactory を使用します。

認証可能として Illuminate\Foundation\Auth\User を使用します。

Illuminate\Notifications\Notifiable を使用します。

//聖域

Laravel\Sanctum\HasApiTokens を使用します。

クラス User extends Authenticated

{

HasApiTokens、HasFactory、Notifiable を使用します。

 

/**

*一括割り当て可能な属性。

*

* @var 配列

*/

保護された $fillable = [

'名前'、

'Eメール'、

'パスワード'、

];

 

/**

* 配列に対して非表示にする必要がある属性。

*

* @var 配列

*/

保護された $hidden = [

'パスワード'、

'remember_token',

];

 

/**

* ネイティブ型にキャストする必要がある属性。

*

* @var 配列

*/

保護された $casts = [

'email_verified_at' => '日時',

];

}

それはどのように機能しますか 3

  ここで、1 つのコントローラーを作成する必要があるため、このコマンドを使用してコントローラーを作成してください。

Php artisan make::controller コントローラー名

app/Http/Controllers/API/BaseController.php ファイル:

<?php



名前空間 App\Http\Controllers\API;

Illuminate\Http\Request を使用します。

App\Http\Controllers\Controller をコントローラーとして使用します。



クラス BaseController は Controller を拡張します

{

/**

※成功応答方式です。

*

* @return \Illuminate\Http\Response

*/

public function sendResponse($result, $message)

{

$応答 = [

「成功」 => 真、

'データ' => $結果、

'メッセージ' => $メッセージ,

];

 

return response()->json($response, 200);

}



/**

* エラー応答を返します。

*

* @return \Illuminate\Http\Response

*/

public function sendError($error, $errorMessages = [], $code = 404)

{

$応答 = [

「成功」 => false,

「メッセージ」=> $エラー、

];

 

if(!empty($errorMessages)){

$response['data'] = $errorMessages;

}

 

return response()->json($response, $code);

}

}

注 : API を作成するときは常に、ステータス コードを含む JSON で応答を送信します。

それはどのように機能しますか 4

API の場合、常に認証トークンを作成します。 これは、トークンが作成されて検証されると、ユーザーを認証できることを意味します。

<?php

名前空間 App\Http\Controllers\API;

Illuminate\Http\Request を使用します。

App\Http\Controllers\API\BaseController を BaseController として使用します。

Illuminate\Support\Facades\Auth を使用します。

バリデーターを使用します。

App\Models\User を使用します。

クラス AuthController は BaseController を拡張します

{

public function signin(Request $request)

{

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

$authUser = Auth::user();

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

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

return $this->sendResponse($success, 'User signed in');

}

そうしないと{

return $this->sendError('Unauthorized.', ['error'=>'Unauthorized']);

}

}

public function signup(Request $request)

{

$validator = Validator::make($request->all(), [

'名前' => '必須',

'email' => 'required|email',

'パスワード' => '必須',

'confirm_password' => 'required|same:password',

]);

if($validator->fails()){

return $this->sendError('Error validation', $validator->errors());

}

$input = $request->all();

$input['password'] = bcrypt($input['password']);

$user = ユーザー::create($input);

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

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

return $this->sendResponse($success, 'ユーザーは正常に作成されました。');

}

}

このルート ファイル:

それはどのように機能しますか 5 最後に、プロジェクトを実行するには、次のコマンドを実行する必要があります。

php職人サーブ

まとめ

API は、ソーシャル ネットワークから金融アプリまで、今日最も人気のある Web サイトやサービスの多くを支えています。 このブログでは、Laravel の REST API を紹介しました。 これにより、REST API とは何か、およびそのしくみを理解するための基礎が築かれたことを願っています。

Web 開発サービスを探しているなら、これ以上探す必要はありません。 webdew では、ビジネス Web サイトを設計および構築するための熟練した Web デザイナーおよび開発者の積極的なチームを見つけることができます。 詳細については、お問い合わせください。