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

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

使用 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 响应对...

使用 Dingo API 扩展包快速构建 Laravel RESTful API(七)—— 错误及异常处理

错误响应 在 Dingo API 中,你可以使用响应构建器支持的多种错误方法生成错误响应: // 通用的错误响应,包含错误消息和状态码 return $this->response->error('404 Not Found', 404); // 返回 404 Not Found 响应,等同于上述返回 404 状态码的错误响应 return $this->response->error...

使用 Dingo API 扩展包快速构建 Laravel RESTful API(六)—— 转化器及响应构建器的高级使用

转化器的高级功能 除了我们上篇教程介绍的一些基本使用之外,还可以通过传递额外的参数实现一些更高级的转化器功能。 资源键 我们可以在响应构建器的 item、collection 或 paginator 方法传入一个参数数组作为第三个参数,在这个数组中,可以通过 key 传入 Fractal 资源的类型标识: return $this->item($task, new TaskTransfo...

使用 Dingo API 扩展包快速构建 Laravel RESTful API(五)—— 转化器篇(下):结合响应构建器构建 JSON 响应

Dingo API 提供的转化器(Transformer)正是基于 Fractal 对响应数据格式进行一致性的转化。 在 Dingo 中定义的转化器类和 Fractal 中完全一致,Dingo 仅仅是在响应实现时对 Fractal 做了一层封装而已,所以我们可以完全基于上篇教程创建的转化器类进行本篇教程的演示。 为模型类注册转化器 在 Dingo API 中使用转化器最简单的方式就是先注...

使用 Dingo API 扩展包快速构建 Laravel RESTful API(四)—— 转化器篇(上):Fractal 简介及其使用入门

转化器简介 Dingo API 中的转化器(Transformer)有点类似 Laravel 框架自带的API 资源类,都是用于对返回的响应数据进行格式化,通过转化器,你可以轻松实现将对象转化为数组,并支持整型和布尔类型之间的转化,以及分页结果和嵌套关联。 这篇教程我们主要讨论转化器在 Dingo API 中的使用,这里的转化器包括以下两层意思: 转化层(transformation ...

使用 Dingo API 扩展包快速构建 Laravel RESTful API(三)—— 返回基本 JSON 响应

API 的核心功能就是获取请求并返回响应给客户端,响应的数据格式是多样的,比如 JSON、XML、HTML,目前比较通用的是返回 JSON 格式数据,返回响应的方式也是多样的,这取决于当前构建的 API 的复杂度以及对未来的考量。 快速入门 要返回 JSON 格式响应,最简单的方式是直接从控制器返回数组或对象,但不是每个响应对象都能保证格式正确,所以你要确保它们实现了 ArrayObje...

[ Laravel从入门到精通 ] 编写 JSON API —— 基于资源控制器和 API 资源类快速构建 API 接口

在上篇教程中学院君给大家简单介绍 RESTful 风格 API 的设计原则和最佳实践,接下来,我们将在 Laravel 项目中通过实例来演示如何编写遵循 RESTful 风格的 JSON API 接口。 注册遵循 REST 规范的 API 路由 其实我们之前在待办任务项目中已经将这样的 API 接口的骨架都搭建起来了,Laravel 框架对 RESTful 风格 API 支持非常友好,可...

[ Laravel从入门到精通 ] 编写 JSON API —— RESTful 风格 API 设计原则与最佳实践

概述 在移动互联网时代,Laravel 开发者日常接触最多的任务应该就是编写 JSON API 接口,基于 RESTful 风格或类 RESTful 风格,以便允许第三方应用/客户端应用与后台应用通过这些 API 接口进行交互。 在 Laravel 项目中实现 JSON API 非常简单,框架底层为此做了大量的工作,提供了大量相关的方法、与之相关的资源控制器、以及 API 资源类、API...