社区优秀文章
API 文档神器 Swagger 介绍及在 PHP 项目中使用 - API 文档撰写方案
单个 Laravel 项目同时配置不同域名 api.domain(用户端接口) 和 admin.domain(管理员端)
-
一套安全的 API 方案,第一步要做的事情就是部署 HTTPS
-
安全必读。
开发 API 必读文章
- Principles of good RESTful API Design(译:好 RESTful API 的设计原则 )简单易懂,条理清晰,推荐
- Best Practices for Designing a Pragmatic RESTful API(译:RESTful 最佳实践 译文2)有实际的案例 Enchant
- HTTP API Design Guide(译:HTTP API 设计指南)
- Some REST best practices
- 理解 RESTful 架构 - 阮一峰 简单了解什么是 RESTFul
- RESTful API 设计指南 - 阮一峰
- Restful API 的设计规范 实战经验的总结,具有较强的启发意义
- 撰写安全合格的REST API 利用好 HTTP 协议所具备的特征
- Web 服务编程,REST 与 SOAP REST 与传统的面向服务的接口设计的区别,启发性强
- 最佳实践:更好的设计你的 REST API 了解 REST 实现缓存的过程
- Thoughts on RESTful API Design
- REST API Tutorial 全方位介绍 REST
- HTTP 接口设计指北
- Web API Design 接口就是开发人员提供的"界面",用户体验在接口设计上同样重要,在线查看 2012 版、2013 版
- 架构风格与基于网络应用软件的架构设计 原汁原味的博士论文,由李锟翻译,有经验的同学可以挑战一下
- Microsoft REST API Guidelines 微软官方的 REST API 设计指南,值得参考
- 理解 HTTP 幂等性 讲得很清楚,推荐
- 浅析远程过程调用 RPC 告诉你什么是 RPC
- httpstatuses 一眼看完所有常用的 HTTP 状态码,还可以看详细含义
- json-api 对 API 应该如何利用好 JSON 的一些建议
- 介绍 JSON 无论如何都应该读一遍
- decision-graph.svg 一张大图展示整个 REST API 的验证过程,及各种状态码出现的时机
现成 API 例子
- Github API v3 被很多人参考和引用,比如对分页的处理方法、接口版本的设计等等
- Mailgun Documentation 邮件服务 REST API
- Enchant REST API
- Coinbase API 设计的挺好的,包括官网提供的接口客户端,都是具有参考意义的
- OpenNMS Wiki ReST API
- REST API 使用详解 Lean Cloud 中讲解 REST API 的使用,还集成 Swagger UI 在线调试工具,点击查看。
调试工具
- DHC (aka Dev HTTP Client) Chrome 插件,简单易用,可分类管理,界面友好
- Fiddler2 Windows 下抓包必备,捕捉每一次 REST 请求和响应的详细内容
- Charles Proxy Mac 下抓包必备
- Postman 功能齐全的 API 请求工具
Laravel API 课程
社区有一门实战课程 《Laravel 教程实战高级 - 构架 API 服务器》 ,主要专注于 App 和 SPA 后端 API 服务器实战开发。手把手带你构建一个设计合理的 RESTful API 服务器。本课程涉及的技术话题有:
- RESTFul 的概念及 Github Api 设计分解;
- DingoApi 的介绍及安装;
- PostMan 的介绍及使用;
- 用户认证 —— 手机注册、登录、退出;
- 第三方认证 —— 微信登录、JWT的使用;
- 用户信息 —— 获取个人信息、上传图片接口、修改个人信息;
- 话题接口 —— 发布、修改、删除、列表;
- 话题回复接口 —— 发布、修改、删除、列表;
- 权限控制 —— 权限列表,角色列表;
- 资源推荐接口、活跃用户接口;
- 接口本地化处理;
- API 接口错误代码机制;
- APNS 消息推送服务器端介绍及实现;
- API 测试 —— 单元测试、集成测试、黑盒测试;
- 快速完成 API 文档;
- Passport / OAuth 2.0 认证。
原文见:https://laravel-china.org/docs/dingo-api/2.0.0/recommended-reading