使用 Laravel API 文档生成器扩展包自动为项目生成 API 文档

1、简介&安装 Laravel API 文档生成器扩展包可以基于 Laravel 应用路由自动生成项目 API 文档。 我们使用Composer安装这个扩展包: $ composer require mpociot/laravel-apidoc-generator 安装完成后需要到config/app.php中注册服务提供者: Mpociot\ApiDoc\ApiD...

使用 Lumen + Stormpath 为移动 App 提供后端 API

1、概述 Stormpath 致力于为开发者提供用户认证 API,通过 Stormpath 我们可以快速搭建起用户认证系统。最近,Stormpath 官方将Lumen 集成到 Stormpath 的 PHP SDK 中(在此之前 Laravel 与 Stormpath 的集成已经做好:stormpath-laravel),这样,你只需要花费几分钟的时间就可以为移动 App 提供一个...

Laravel & Lumen RESTFul API 扩展包:Dingo API(五) —— 转化器(Transformer)

1、简介 通过转化器,你可以将对象转化为数组,并强制转化整型和布尔类型,包括分页结果和嵌套关联。 本章节我们主要讨论转化器及其使用,这里的转化器包括以下两层意思: 转化层(transformation layer)是一个准备和处理转化器的库 转化器(transformer)是一个获取原始数据并将其转化为数组格式的类,处理器的处理方式取决于转化层。 2、使用转化器...

Laravel & Lumen RESTFul API 扩展包:Dingo API(四) —— 错误和异常响应

在构建API的时候处理错误是一件痛苦的事儿,在Dingo API中,你不需要手动构建错误响应,只需要抛出一个继承自Symfony\Component\HttpKernel\Exception\HttpException的异常,API会自动为你处理这个响应。 下面是Dingo API内置的Symfony异常: 异常 状态码 Symfony\Component...

Laravel & Lumen RESTFul API 扩展包:Dingo API(三) —— Response(响应)

一个API的功能主要是获取请求并返回响应给客户端,响应的格式是多样的,比如JSON,返回响应的方式也是多样的,这取决于当前构建的API的复杂度以及对未来的考量。 返回响应最简单的方式是直接从控制器返回数组或对象,但不是每个响应对象都能保证格式正确,所以你要确保它们实现了ArrayObject或者Illuminate\Support\Contracts\ArrayableInterf...

Laravel & Lumen RESTFul API 扩展包:Dingo API(二) —— 创建 API Endpoint(路由)

Endpoint 就是路由的另一种术语,当我们讨论API时,很多人习惯将访问的路由看作Endpoint。 1、版本号 为了避免和主应用的路由混在一起,Dingo API使用了自己的路由器,正因如此我们首先需要获取API路由器实例来创建Endpoint: $api = app('Dingo\Api\Routing\Router'); 接下来需要定义版本号,从而可以为多版本API创建...

Laravel & Lumen RESTFul API 扩展包:Dingo API(一) —— 安装配置篇

Dingo API 为开发者提供了一整套工具以便帮助你轻松、快捷的构建自己的API。这些工具包括: 内容协商 多认证适配器 API版本 频率限制 响应转化和格式化 错误及异常处理 内部请求 API文档 1、安装 安装该扩展包之前需要保证已经安装以下程序: Laravel 5.1+ 或 Lumen 5.1+ PHP 5.5.9+ ...

使用 Laravel Generator 快速为 Laravel 应用生成CRUD、API、测试用例代码 —— 使用篇

API生成器 要生成API,我们可以使用如下命令: php artisan infyom:api $MODEL_NAME$ 其中$MODEL_NAME$需要替换成你的模型名称,例如: php artisan infyom:api Post 然后需要在命令行手动输入模型对应表的字段: 这里我们暂且输入title和content字段(id和时间戳会自动生成无需在这里添...

使用 Laravel Generator 快速为 Laravel 应用生成CRUD、API、测试用例代码 —— 介绍篇

很多项目中我们都需要做创建API、CRUD这类事情,我们所面临的问题是每次都要创建一堆迁移文件、模型类、控制器、Repository甚至是测试用例,这些文件基本结构一致,只是类名不同而已,我们需要简化这个过程,使用统一模板快速生成这些类文件,为此诞生了第一个扩展包laravel-api-generator,在短时间内这个扩展包获得了大量关注,吸引了Laravel社区的很多人开始使...

Laravel 5 中使用 JWT(Json Web Token) 实现基于API的用户认证

在JavaScript前端技术大行其道的今天,我们通常只需在后台构建API提供给前端调用,并且后端仅仅设计为给前端移动App调用。用户认证是Web应用的重要组成部分,基于API的用户认证有两个最佳解决方案 —— OAuth 2.0 和 JWT(JSON Web Token)。 1、JWT定义及其组成 JWT(JSON Web Token)是一个非常轻巧的规范。这个规范允许我们...