[ Laravel 6.0 文档 ] Eloquent ORM —— API 资源类

简介 构建 API 时,在 Eloquent 模型和最终返回给应用用户的 JSON 响应之间可能需要一个转化层。Laravel 的资源类允许你以简单优雅的方式将模型和模型集合转化为 JSON 格式数据。 生成资源类 要生成一个资源类,可以使用 Artisan 命令 make:resource,默认情况下,资源类存放在应用的 app/Http/Resources 目录下,资源类都继承自 I...

[ Laravel 6.0 文档 ] 安全系列 —— API 认证

简介 默认情况下,Laravel 通过为应用中的每个用户分配一个随机的令牌这种方式提供了一个非常简单的 API 认证解决方案。在配置文件 config/auth.php 中,默认已经定义了一个 api 守卫(guard)并且对应的驱动是 token。该驱动负责检查进入应用的请求上的 API 令牌,并验证是否与分配给用户的令牌值相同(分配给用户的令牌一般存储在数据库中)。 注:尽管 La...

[ Laravel 6.0 文档 ] 基础组件 —— 控制器

简介 我们之前的演示示例都是将所有的请求处理逻辑放在路由文件的闭包函数中,这显然是不合理的,我们需要使用控制器类组织管理相对复杂的业务逻辑处理。控制器用于将相关的 HTTP 请求封装到一个类中进行处理,这些控制器类存放在 app/Http/Controllers 目录下。 控制器入门 定义控制器 下面是一个基本控制器类的例子。首先我们使用 Artisan 命令快速创建一个控制器: php...

基于 Laravel + Swoole + Vue 搭建实时在线聊天室(二):后台数据库准备和 API 认证功能实现

上篇教程我们为聊天室项目准备好了开发环境并对项目进行了初始化,今天我们来设置数据库并完成简单的 API 认证功能。 数据库准备 关于数据库这块,我们需要为 Laravel 自带的用户表新增头像字段,然后创建一张消息表用于存放用户发送的消息,以便对历史消息进行查询。 更新用户表 首先,我们运行如下 Artisan 命令生成数据库迁移文件为用户表 users 新增头像字段: php arti...

Beego 框架入门篇:通过 Beego 提供的脚手架工具 Bee 快速创建 Web 项目

今天我要介绍的是 Beego 中的一个命令行工具:bee(类似 Laravel 框架中的 Artisan 命令,如果你使用过 Artisan 命令的话,可以很快上手),该工具主要提供了如下命令: bee new //生成一个新的beego项目 bee api //生成一个新的api项目,专门用作api接口使用 bee generate controller //生成控制器,不用自己创建...

在 Laravel 项目中集成 Swagger 扩展包为 Laravel API 生成接口文档并对接口进行测试

除了上篇介绍的 API 文档生成器扩展包之外,我们还可以基于著名的 Swagger 在 Laravel 项目中为 API 接口生成文档。 Swagger 是一个开源的、用于简化 API 开发的工具集,这些工具集涵盖了 API 开发的整个生命周期,从设计到文档、从测试到部署。 Swagger vs OpenAPI 在介绍基于 Swagger 工具集生成 API 文档之前,我们有必要先了解下...

在 Laravel 中集成 API 文档生成器扩展包为 Dingo API 接口生成文档

上篇教程学院君介绍了 Dingo 自带的 API 文档生成功能,除此之外,我们还可以基于 Laravel 生态的其它 API 文档生成扩展包为 Dingo API 生成文档。比如学院君之前发布的使用 Laravel API 文档生成器扩展包自动为项目生成 API 文档这篇教程使用的 laravel-apidoc-generator 扩展包就可以。 安装配置 安装完该扩展包后,按照教程中的...

使用 Dingo API 扩展包快速构建 Laravel RESTful API(十二)—— 生成 API 文档

为 API 编写文档和编写 API 接口功能同样重要,因为 API 大多是给别人用的,有了具备可读性的文档别人才知道怎么调用,以及如何处理返回结果。为了让文档编写过程更简单,Dingo 扩展包允许你在控制器中添加注解,然后通过 Artisan 命令根据这些注释生成 API 文档。 下面我们就来演示下如何在 Dingo 路由控制器中添加注解并通过这些注解生成相应的 API 文档。 注:通...

使用 Dingo API 扩展包快速构建 Laravel RESTful API(十一)—— 在应用内部请求 Dingo API

Dingo 扩展包花费了很大的精力来提供从应用内部请求 Dingo API 接口的功能,这意味着,通过 Dingo 扩展包实现的 API 接口不仅可以被客户端和第三方应用消费,还可以为应用内部的 Web 路由和其他 API 路由提供数据和服务支持,这样一来,我们就可以构建一个完全基于 API 驱动的应用,支持内部请求的 API 还有一个好处就是可以返回原生数据对象而不是 HTTP 响应对...