laravel 中的 REST API 是什麼:你需要知道的一切
已發表: 2022-11-03世界正在完全轉向使用移動設備和在線尋找解決方案的便捷性。 當今世界,Web 設計和 Web 開發正在大規模發展。
由於網站開發也包括移動應用程序開發,因此大部分需求已轉向智能手機。 話雖如此,對於移動應用程序,後端需要RESTful API。
如果你不知道什麼是 REST API,沒關係! 我們已經為您服務了。
在這篇博客中,我將解釋什麼是 RESTful API 以及它是如何工作的。 我還將解釋如何在 Laravel 中開發一個 RESTful API。
讓我們開始吧…
什麼是 REST API?
APi 是應用程序編程接口,它幫助我們將一台設備連接到另一台設備,例如配偶我們有一個網站,現在我們想構建一個移動應用程序,所以我們將創建 API 來將數據連接到設備,我們必須使用 JSON要在設備中傳遞的數據,因此只能使用 API 進行處理。
有時,需要網絡通信REST API 或Representational State Transfer API。
它是如何工作的?
首先,我們必須在我們的系統中安裝 laravel 應用程序,以便我們可以遵循 laravel 官方文檔,這將幫助我們更進一步。 這是安裝 laravel 應用程序的文檔鏈接:
http://laravel.com/
要安裝應用程序,請使用此命令,但請確保您的系統中應該有作曲家,因為作曲家是幫助安裝應用程序中所有依賴項的依賴項工具,您可以點擊此鏈接:
https://getcomposer.org/download/
安裝 composer 後,您可以下載 laravel ,請使用以下命令:
作曲家創建項目 --prefer-dist laravel/laravel laravel-sanctum-auth
安裝項目後,需要在 .ENV 文件中設置數據庫詳細信息,因此只需在 ENV 文件中填寫數據庫名稱即可。
下一步是安裝 API 包。 有許多可用的軟件包,但您可以根據自己的選擇安裝。
因此,要安裝軟件包,您必須按照 laravel 文檔中給出的命令進行操作。 因為我要使用 Sanctum,所以我將使用這個命令:
作曲家需要 laravel/sanctum
運行此命令後,我的包將被安裝並可以使用。 只需按照下面的屏幕截圖:
一旦我們完成了包設置,下一步就是為數據庫創建模型。 我們將創建一種模式和遷移,它將連接到直接數據庫,
應用程序/模型/User.php 文件。
<?php
命名空間應用\模型;
使用 Illuminate\Contracts\Auth\MustVerifyEmail;
使用 Illuminate\Database\Eloquent\Factories\HasFactory;
使用 Illuminate\Foundation\Auth\User 作為 Authenticatable;
使用 Illuminate\Notifications\Notifiable;
// 聖所
使用 Laravel\Sanctum\HasApiTokens;
類用戶擴展 Authenticatable
{
使用 HasApiTokens、HasFactory、Notifiable;
/**
* 可批量分配的屬性。
*
* @var 數組
*/
受保護的 $fillable = [
'姓名',
'電子郵件',
'密碼',
];
/**
* 應該為數組隱藏的屬性。
*
* @var 數組
*/
受保護的$隱藏= [
'密碼',
'remember_token',
];
/**
* 應該轉換為本機類型的屬性。
*
* @var 數組
*/
受保護的 $casts = [
'email_verified_at' => '日期時間',
];
}
現在我們必須創建一個控制器所以請使用這個命令來創建控制器
php artisan make::controller 控制器名稱
app/Http/Controllers/API/BaseController.php 文件:
<?php
命名空間 App\Http\Controllers\API;
使用 Illuminate\Http\Request;
使用 App\Http\Controllers\Controller 作為控制器;
類 BaseController 擴展控制器
{
/**
* 成功響應方法。
*
* @return \Illuminate\Http\Response

*/
公共函數 sendResponse($result, $message)
{
$響應 = [
'成功' => 真,
'數據' => $結果,
'消息' => $消息,
];
返迴響應()->json($響應,200);
}
/**
* 返回錯誤響應。
*
* @return \Illuminate\Http\Response
*/
公共函數 sendError($error, $errorMessages = [], $code = 404)
{
$響應 = [
'成功' => 假,
'消息' => $錯誤,
];
if(!empty($errorMessages)){
$response['data'] = $errorMessages;
}
返迴響應()->json($response, $code);
}
}
請注意:每當我們創建 API 時,我們總是以帶有狀態碼的 JSON 格式發送響應。
對於 API,我們總是創建身份驗證令牌。 這意味著如果令牌將被創建和驗證,那麼我們就可以對用戶進行身份驗證。
<?php
命名空間 App\Http\Controllers\API;
使用 Illuminate\Http\Request;
使用 App\Http\Controllers\API\BaseController 作為 BaseController;
使用 Illuminate\Support\Facades\Auth;
使用驗證器;
使用應用\模型\用戶;
類 AuthController 擴展 BaseController
{
公共功能登錄(請求 $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, '用戶登錄');
}
別的{
return $this->sendError('Unauthorized.', ['error'=>'Unauthorized']);
}
}
公共功能註冊(請求 $request)
{
$validator = Validator::make($request->all(), [
'名稱' => '必需',
'電子郵件' => '必需|電子郵件',
'密碼' => '必需',
'確認密碼' => '必需|相同:密碼',
]);
if($validator->fails()){
return $this->sendError('錯誤驗證', $validator->errors());
}
$input = $request->all();
$input['password'] = bcrypt($input['password']);
$user = User::create($input);
$success['token'] = $user->createToken('MyAuthApp')->plainTextToken;
$success['name'] = $user->name;
return $this->sendResponse($success, '用戶創建成功。');
}
}
該路線文件:
最後,要運行項目,我們需要運行以下命令:
php工匠服務
包起來
API 為當今許多最受歡迎的網站和服務提供支持,從社交網絡到金融應用程序。 在這篇博客中,您被介紹了 Laravel 中的 REST API。 我們希望這為您了解什麼是 REST API 及其工作原理奠定了基礎。
如果您正在尋找 Web 開發服務,則無需進一步尋找。 在 webdew,您將能夠找到一支由熟練的網頁設計師和開發人員組成的積極主動的團隊來設計和構建您的商業網站。 聯繫我們了解更多。