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,您将能够找到一支由熟练的网页设计师和开发人员组成的积极主动的团队来设计和构建您的商业网站。 联系我们了解更多。