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

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

使用 tree-ql 高效简洁的开发 API

什么是tree-ql? tree-ql是一个laravel扩展,通过简单的配置构建出一套极具描述性,可读性,且没有任何冗余的高性能API. 不具入侵性之laravel,可以随时集成在已有的laravel项目中. 不具入侵性之RESTful,基于RESTful进一步提升API描述性 无论多么复杂的API描述,都不会产生N + 1问题. tree-ql并不是一套API规范,而...

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

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

[ Laravel 5.8 文档 ] 官方扩展包 —— API 认证解决方案:Laravel Passport

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

微信小程序开发入门教程(十):组件化框架 WePY 开发入门 —— 博客文章详情页重构

上篇教程学院君介绍了如何通过小程序框架 WePY 重构博客小程序首页,这篇我们接着来重构博客小程序文章详情页,后端 API 接口还是保持不变,主要工作在微信小程序前端页面,首先我们需要在 blog-lite 项目中创建详情页页面。 创建新页面 在 PhpStorm 中打开小程序项目,在 src/pages 目录下创建 post.wpy 用于渲染博客详情页: 然后初始化 post.wpy...

微信小程序开发入门教程(九):组件化框架 WePY 开发入门 —— 博客首页文章列表重构

上篇教程,学院君已经给大家初步介绍了基于小程序组件化框架 WePY 的项目初始化和目录结构,今天开始我们将花几篇教程的篇幅通过 WePY 框架来重构之前通过原生框架开发的博客应用小程序版,并且在此基础上实现用户授权登录及点赞功能,最后将这个小程序上线,从而演示完整的小程序开发生命周期。 重构的时候,后端接口不用做任何调整,只需要开发小程序页面即可。 我们在 PHPStorm 中打开上篇教...

微信小程序开发入门教程(七):原生框架开发入门 —— 博客文章详情页实现(下)

在上一篇教程中,我们通过测试数据渲染了小程序的文章详情页,这一篇教程我们将通过访问后端 API 接口来获取文章数据,以便实现文章详情页数据渲染。 提供后端 API 接口 定义路由 首先,我们需要在博客项目 blog57 的 routes/api.php 中新增一个 API 路由: Route::middleware('throttle:60,1')->prefix('v1')->grou...

[ Laravel 从入门到精通 ] 用户认证与授权系列 —— 通过 Cookie 实现基于 Session 的单点登录

单点登录及实现思路 单点登录(Single Sign On),简称为 SSO,意思是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的其它应用系统。一般常用于同一家公司的不同子系统之间的登录认证。 单点登录有多种实现方式,这里我们只介绍两种,一种是基于 Cookie 凭证,这种方式适用于子系统之间主域名一致,因为只有这样才能让不同子系统之间共享 Cookie;另一种是通过 CA...

微信小程序开发入门教程(五):原生框架开发入门 —— 博客首页文章列表实现(下)

在上一篇教程中,我们通过测试数据渲染了小程序首页的文章列表,这一篇教程我们将通过访问后端 API 接口来获取文章数据,以便实现首页文章渲染、刷新和翻页操作。 提供后端 API 接口 定义路由 首先,我们需要在博客项目 blog57 的 routes/api.php 中定义一个 API 路由: Route::middleware('throttle:60,1')->prefix('v...