通过 Apiato 框架引入构建 API 应用的两种软件架构模式 —— Porto / MVC

接下来的系列中,我们将基于 Apiato 这个 API 框架来演示如何快速构建 API 应用来实现常见功能。 前面我们在 Apiato 快速入门 这篇文档中大概已经了解了 Apiato 的功能特性以及如何创建一个新的应用并对应用接口的访问有了初步的了解,在继续深入介绍该框架所有功能特性之前我们先来了解下 Apiato 框架的架构模式,以便从根本上了解框架的运行原理,从而更好地掌握它...

Laravel API 系列教程(三):使用 API Resource 来创建自己的 {JSON:API} 格式 API

 上一篇教程中我们通过 jwt-auth 实现了 Laravel 的 API 认证,认证过后就可以通过 http://apidemo.test/api/auth/user 接口访问当前用户信息: 可以看到上面的返回数据以原生格式返回,没有经过任何处理,甚至有可能包含敏感信息,我们当然可以处理之后再返回,一个两个接口还好,如果现实业务中面对成百上千个接口呢?这种处理方...

Laravel API 系列教程(二): 结合 Laravel 5.5 和 Vue SPA 基于 jwt-auth 实现 API 认证

 上一篇我们简单演示了 Laravel 5.5 中 RESTful API 的构建、认证和测试,本教程将在上一篇教程的基础上进行升华,我们将结合 Laravel 和 Vue 单页面应用(SPA),在此双剑合壁的基础上引入 jwt-auth 实现 API 认证,由于 Laravel 集成了对 Vue 的支持,所以在 Laravel 应用中使用 Vue 也是如鱼得水,非常顺畅,整篇教程涉...

Laravel API 系列教程(一): 基于 Laravel 5.5 构建 & 测试 RESTful API

随着移动开发和 JavaScript 框架的日益流行,使用 RESTful API 在数据层和客户端之间构建交互接口逐渐成为最佳选择。在本系列教程中,学院君将会带领大家基于 Laravel 5.5 来构建并测试带认证功能的 RESTful API。 RESTful API 开始之前,我们先要了解什么是 RESTful API。REST 是 REpresentational S...

基于 Apiato 在 Laravel 5.6 中快速构建可扩展易测试的、API 驱动的应用

简介 Apiato 是一个基于 Laravel 5.6 的框架(5.5也支持),通过提供一系列适用于 API 开发的工具和函数,可以帮助我们快速构建可扩展、易测试、以 API 为中心的现代 PHP 应用。 从头开始开发一套 API 的所有功能总是件很费时间的事,为此,Apiato 为我们提供了应用 API 开发所需的基础组件,我们只需专注业务逻辑开发即可,从而更快地将 API...

[ Laravel 5.6 文档 ] 测试系列 —— HTTP 测试

简介 Laravel 为生成 HTTP 请求、测试输出提供了流式 API。举个例子,我们 Laravel 提供的测试示例: <?php namespace Tests\Feature; use Tests\TestCase; use Illuminate\Foundation\Testing\RefreshDatabase; use Illuminate\Fou...

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

简介 Laravel 通过传统的登录表单已经让用户认证变得很简单,但是 API 认证怎么实现?API 通常使用令牌(token)进行认证并且在请求之间不维护会话(Session)状态。Laravel 官方扩展包 Laravel Passport 让 API 认证变得轻而易举,Passport 基于 Alex Bilbie 维护的 League OAuth2 server,可以在数分钟内...

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

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

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

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

[ Laravel 5.5 文档 ] 安全系列 —— 使用 Laravel Passport 实现 API 认证

简介 Laravel 通过传统的登录表单已经让用户认证变得很简单,但是 API 认证怎么实现?API 通常使用令牌(token)进行认证并且在请求之间不维护会话(Session)状态。Laravel 官方扩展包 Laravel Passport 让 API 认证变得轻而易举,Passport 基于 Alex Bilbie 维护的 League OAuth2 server,可以在数分...