搜档网

搜档网

当前位置:搜档网 > RESTful API 设计最佳实践 -

RESTful API 设计最佳实践 -

摘要:目前互联网上充斥着大量的关于RESTful API(为了方便,以后API和RESTful API 一个意思)如何设计的文章,然而却没有一个”万能“的设计标准:如何鉴权?API格式如何?你的API是否应该加入版本信息?

背景

目前互联网上充斥着大量的关于RESTful API(为了方便,以后API和RESTful API 一个意思)如何设计的文章,然而却没有一个”万能“的设计标准:如何鉴权?API格式如何?你的API是否应该加入版本信息?当你开始写一个app的时候,特别是后端模型部分已经写完的时候,你不得不殚精竭虑的设计和实现自己app的public API部分。因为一旦发布,对外发布的API将会很难改变。

在给SupportedFu设计API的时候,我试图以实用的角度来解决上面提到的问题。我希望可以设计出容易使用,容易部署,并且足够灵活的API,本文因此而生。

API设计的基本要求

网上的很多关于API设计的观点都十分”学院派“,它们也许更有理论基础,但是有时却和现实世界脱轨(因此我是自由派)。所以我这篇文章的目标是从实践的角度出发,给出当前网络应用的API设计最佳实践(当然,是我认为的最佳了~),如果觉得不合适,我不会遵从标准。当然作为设计的基础,几个必须的原则还是要遵守的:

1.

2.

3.

4.

5. 当标准合理的时候遵守标准。 API应该对程序员友好,并且在浏览器地址栏容易输入。 API应该简单,直观,容易使用的同时优雅。 API应该具有足够的灵活性来支持上层ui。 API设计权衡上述几个原则。

需要强调的是:API的就是程序员的UI,和其他UI一样,你必须仔细考虑它的用户体验! 使用RESTful URLs 和action.

虽然前面我说没有一个万能的API设计标准。但确实有一个被普遍承认和遵守:RESTfu设计原则。它被Roy Felding提出(在他的”基于网络的软件架构“论文中第五章)。而REST的核心原则是将你的API拆分为逻辑上的资源。这些资源通过http被操作

(GET ,POST,PUT,DELETE)。

那么我应该如何拆分出这些资源呢?

RESTful API 设计最佳实践 -
RESTful API 设计最佳实践 -_建筑/土木_工程科技_专业资料。RESTful API 设计最佳实践 -摘要:目前互联网上充斥着大量的关于 RESTful API(为了方便,以后 APIR...
RESTful API 设计最佳实践
RESTful API 设计最佳实践_建筑/土木_工程科技_专业资料。RESTful API 设计最佳实践数据模型已经稳定,接下来你可能需要为 web(网站)应用创建一个公开的 API(应用程序...
RESTful API设计
RESTful API设计_职业技术培训_职业教育_教育专区。背景 目前互联网上充斥着大量...给出当前 网络应用的 API 设计最佳实践(当然,是我认为的最佳了~),如果觉得不...
RAML规范解读
API 设计最佳实践一个设计良好的 API 的特点 一般来说,一个有效的 API ...这里 是 RESTful API 里常用 HTTP 方法列表,这些方法定义 CRUD 如何操作资源和...
基本框架梳理
RAML 是基于 YAML,符合 1.2 版本规范,能帮助设计 RESTful API 和鼓励对 API 的发掘和重用,依 靠标准和最佳实践从而编写更高质量的 API。通过 RAML 定义,因为...
JAVA 学习指南
一种方式,只需写配置,而无需再写 dao 最佳实践 ...(formcheck.js) api document 请参考 formcheck-...RESTFUL 设计 RESTful Web 服务简介: RESTful Web ...
非常详细的 Docker 学习笔记
技能:掌握 web 开发最佳实践,掌握 Restful API 设计,理解 Spring 原理。推荐阅读《Spring揭秘》。掌握项目分层、子模块划分。推荐阅读:《J2EE 核心模式》。掌握 web...
REST Service 的最佳实践,第 1 部分 重新解析 REST Service
? ? ? ? 7.14 docker build 7.15 dockerfile 最佳实践 8.1 数据卷 8....Docker 客户端和守护进程之间通过 socket 或者 RESTful API 进行通信。 1.1 ...
微服务-框架
REST Service 的最佳实践,第 1 部分 重新解析 REST Service_IT/计算机_专业资料...RESTFUL API 设计开发 34页 免费 基于REST架构的Web Serv... 4页 免费©...