使用 Lumen 框架创建 REST API 实例教程


概述

Lumen是一个基于Laravel的微框架,主要用于小型应用和微服务,专注于性能和速度的优化,该框架一个重要的应用就是构建 REST API。

lumen-api

为什么用Lumen构建REST API

  • Lumen访问速度非常快
  • 每秒能够处理的请求数比Laravel更多
  • 使用nikic/FastRoute取代Symphony,从而提升了性能

安装 & 配置

关于Lumen详细安装教程参考官方文档:https://laravel.geekai.co/post/6328.html

这里我们使用Composer在web根目录下安装:

安装完成后,在.env中配置数据库连接信息:

然后在bootstrap/app.php中取消下面两行之前的注释:

此时在浏览器访问rest_api.dev(Mac下使用Valet,Windows请自行设置虚拟域名),页面显示如下:

数据库迁移

接下来我们来创建数据表。

在项目根目录下运行如下命令:

该命令将会在 database/migrations/目录下创建一个迁移文件_create_table_cars.php,接下来我们来编辑这个文件来定义数据表。

现在我们来运行这个迁移:

这样,就会在数据库中创建对应的表:

rest_api_cars

创建模型

接下来我们在app目录下创建模型文件Car.php,并编写代码如下:

创建控制器

然后创建控制器文件app/Http/Controllers/CarController.php

定义路由

剩下的就是配置路由了,我将会为增删改查配置对应路由。打开app/Http/routes.php并添加如下路由:

注意我将这组路由放到了api/v1前缀下。

测试API

现在让我们用curl来测试这组REST API。

首先我们来测试创建:

输出如下则表示创建成功:

然后我们来测试更新刚刚创建的这条记录:

输出如下,表示更新成功:

接下来我们来测试列表页面:

输出如下:

最后,我们测试下删除API:


<< 上一篇: 在 Laravel 5.3 中使用官方扩展包 Scout + Algolia 实现全文搜索实例教程

>> 下一篇: Laravel 5 中基于 jQuery 实现分层级的类目树结构实例教程