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

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

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

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

使用 Dingo API 扩展包快速构建 Laravel RESTful API(十)—— 路由访问频率限制

所谓频率限制指的是指定时间内允许特定客户端针对单个路由发起请求的次数,也可以通过节流(throttle)这个术语来描述该行为,我们可以通过一个节流器来定义时间范围和请求次数,然后在需要限制访问频率的路由上应用这个节流器进行校验,显然,在 Laravel 中可以通过中间件来实现这个操作。 在 Dingo API 中,我们有两种方式来实现路由访问频率限制,一种是通过 Laravel 框架自带...

使用 Dingo API 扩展包快速构建 Laravel RESTful API(九)—— API 认证实现(下)

在上篇教程中,我们介绍了如何通过 HTTP 基本认证和 JWT 认证实现 Dingo API 的认证,这篇教程,学院君将会给大家介绍如何在 Dingo API 中基于 OAuth 2.0 和自定义认证驱动实现 API 认证。 OAuth 2.0 认证 和 Laravel Passport 一样,Dingo API 的 OAuth 2.0 认证基于第三方扩展包 league/oauth2-...

使用 Dingo API 扩展包快速构建 Laravel RESTful API(八)—— API 认证实现(上)

概述 有些 API 接口需要用户认证之后才能返回响应,有些 API 接口则会根据用户认证与否返回不同的响应数据,Dingo 扩展包支持多个不同的认证驱动,在 Dingo API 中启用认证后,当我们尝试对请求进行认证时就会执行对应的驱动逻辑。下面是 Dingo 开箱支持的认证驱动: HTTP 基本认证(Basic) JSON Web Tokens(JWT) OAuth 2.0(OAut...

使用 Dingo API 扩展包快速构建 Laravel RESTful API(一)—— 安装配置篇

注:本系列文档适用于 Laravel/Lumen 5.5+ 版本。 Dingo API 提供了一整套工具以便帮助开发者快速构建遵循 REST 规范的 API 接口。这些工具包括: 内容协商 多种认证适配器 API 版本 访问频率限制 响应数据格式转化 错误及异常处理 内部请求 生成 API 文档 1、安装 安装该扩展包之前需要保证已经安装以下程序: Laravel/Lumen 5...

[ Laravel从入门到精通 ] 测试系列 —— 通过测试驱动开发构建待办任务项目(二):前端功能和浏览器测试篇

在上篇教程中,学院君已经完成了待办任务项目后端 API 接口的编写和功能测试,现在,我们开始编写 Vue 组件来实现前端的交互界面。 编写前端 Vue 组件 首先在 resources/js/components 目录新增一个 Vue 组件 TasksComponent.vue,并编写模板代码和脚本代码如下:...

[ Laravel从入门到精通 ] 测试系列 —— 通过测试驱动开发构建待办任务项目(一):后端接口和功能测试篇

本来打算写一篇通过 Laravel Dusk 测试前端 Vue 组件的教程,转念一想不如玩把大的,直接基于 Laravel + Vue 构建一个前后端分离的待办任务列表项目,然后在开发过程中通过功能测试用例测试后端 API 接口,通过浏览器测试用例测试前端 Vue 组件与后端的交互,同时引入数据库测试对增删改查进行测试,从而完成一个简单的、相对完整的测试驱动开发项目。 构建应用 创建新项...

[ Laravel从入门到精通 ] 测试系列 —— 在 Laravel 中基于 PHPUnit 进行代码测试:HTTP 测试篇(下)

我们继续在上一篇教程的基础上演示如何编写 HTTP 功能测试用例。 测试用户认证 Session 除了用于存储一次性验证错误信息和用户会话状态外,最主要的用途就是维护用户认证的状态,在 Laravel 中,可以通过框架提供的一系列断言方法对用户认证状态进行测试。 我们基于 Laravel 框架提供的认证脚手架中的路由进行测试,如果你还没有在测试项目中生成认证脚手架代码,运行如下 Arti...

[Laravel 5.8 文档] 官方扩展包 —— 第三方登录解决方案:Laravel Socialite

简介 除了传统的基于表单的登录认证外,Laravel 还可以通过 Laravel Socialite 提供 OAuth 认证,目前支持的认证驱动包括 Facebook、Twitter、Google、LinkedIn、GitHub 和 Bitbucket。 注:其他平台的驱动可以在社区驱的 Socialite 提供者网站上找到。 升级 Socialite 升级到最新版本的 Social...