首页
/ 消费者导向的API设计指南

消费者导向的API设计指南

2024-05-20 13:24:50作者:蔡丛锟

本书是一个深入探讨基于HTTP的API设计的开源资源。它的目标是构建易用且用户喜爱的API接口。从URL设计和一致的HTTP方法应用到更复杂的主题如认证模式和权限管理,本书都有详尽的覆盖。

我的期望是最终能通过出版社或自我出版的方式发行纸质版,同时也会提供免费的电子版本。正如尼尔森·豪在音乐上的尝试一样,我认为这种模式也许同样适用于技术书籍。

目前,这本书大约有55页。如果你觉得书中缺少了任何内容,请以问题的形式提交issue,我将很高兴为其添加相关内容。

购买纸质版

现在,你可以通过亚马逊购买到这本《消费者导向的API设计》的实体书。如果你想支持这个项目,购买一本将是极好的方式: 在Amazon上购买($14)。

下载PDF

在这里下载PDF版本

PDF版本充分利用了内部链接,例如,目录链接到相关的部分,图例链接到相应的图,引用链接到书后的更多信息。

页面采用了交替的边距设计,因为这是为了双面打印而考虑的。所有的图表都以矢量图形的形式呈现,以保持文件大小小而图像质量高。

封面和第一页截图
Evince中的屏幕截图,显示了超链接

目录

(略)

贡献

如果希望看到更多的话题在这个书中被讨论,提交一个issue并提出你的问题,我会进行研究并编写相关内容。如果你想为本书写作,提交一个pull请求,我会检查它(最好事先联系我,确保你写的主题适合这本书)。届时,我会制定一种系统来跟踪贡献者,并可能在书中专门设立一页来表彰他们。

当然,对本书的任何贡献都将赋予我和可能的出版商非排他的权利,以便我们随意处理这些内容。抱歉,这是法律要求的。

安装LaTeX

安装LaTeX可以让你自己构建这本书。但是,如果你不打算贡献内容,也不必学习LaTeX。只需在认为合适的位置添加内容,然后提交pull请求,我将会审阅并做必要的修改。

OS X

可以安装MacTeX包。安装后,需要将它的目录添加到PATH中:

PATH="$PATH:/usr/texbin"
export PATH

也可以通过Homebrew Cask来安装。

Debian/Ubuntu Linux

在Debian或Ubuntu这样的基于Debian的Linux发行版上,安装texlive包:

sudo apt-get install texlive texlive-latex-extra texlive-font-utils

其他发行版可能会有不同的包名。

Windows

在Windows上,可以安装MiKTeX项目,但无法运行build.sh脚本来编译书籍,需要手动执行相关命令。

构建书籍

在书籍目录下运行以下命令:

./build.sh

生成的书籍名为类似"Consumer-Centric API Design vX.Y.Z.pdf"的名称。

许可证

CC BY-NC-ND

署名-非商业性-禁止演绎 4.0 国际

这是一个开放源码项目,允许您自由分享,但不得用于商业目的,也不能进行修改后再分发。

欢迎您探索这个项目,一起打造一个更加易用的API设计环境。

热门项目推荐

项目优选

收起
Python-100-DaysPython-100-Days
Python - 100天从新手到大师
Python
263
53
国产编程语言蓝皮书国产编程语言蓝皮书
《国产编程语言蓝皮书》-编委会工作区
64
16
open-eBackupopen-eBackup
open-eBackup是一款开源备份软件,采用集群高扩展架构,通过应用备份通用框架、并行备份等技术,为主流数据库、虚拟化、文件系统、大数据等应用提供E2E的数据备份、恢复等能力,帮助用户实现关键数据高效保护。
HTML
85
63
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
53
44
Cangjie-ExamplesCangjie-Examples
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
Cangjie
195
45
HarmonyOS-ExamplesHarmonyOS-Examples
本仓将收集和展示仓颉鸿蒙应用示例代码,欢迎大家投稿,在仓颉鸿蒙社区展现你的妙趣设计!
Cangjie
268
69
xxl-jobxxl-job
XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。
Java
9
0
RuoYi-VueRuoYi-Vue
🎉 基于SpringBoot,Spring Security,JWT,Vue & Element 的前后端分离权限管理系统,同时提供了 Vue3 的版本
Java
171
41
RuoYi-Cloud-Vue3RuoYi-Cloud-Vue3
🎉 基于Spring Boot、Spring Cloud & Alibaba、Vue3 & Vite、Element Plus的分布式前后端分离微服务架构权限管理系统
Vue
38
24
qwerty-learnerqwerty-learner
为键盘工作者设计的单词记忆与英语肌肉记忆锻炼软件 / Words learning and English muscle memory training software designed for keyboard workers
TSX
332
27