首页
/ 消费者导向的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设计环境。

项目优选

收起
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
33
24
CangjieCommunityCangjieCommunity
为仓颉编程语言开发者打造活跃、开放、高质量的社区环境
Markdown
830
0
redis-sdkredis-sdk
仓颉语言实现的Redis客户端SDK。已适配仓颉0.53.4 Beta版本。接口设计兼容jedis接口语义,支持RESP2和RESP3协议,支持发布订阅模式,支持哨兵模式和集群模式。
Cangjie
376
32
advanced-javaadvanced-java
Advanced-Java是一个Java进阶教程,适合用于学习Java高级特性和编程技巧。特点:内容深入、实例丰富、适合进阶学习。
JavaScript
75.92 K
19.09 K
qwerty-learnerqwerty-learner
为键盘工作者设计的单词记忆与英语肌肉记忆锻炼软件 / Words learning and English muscle memory training software designed for keyboard workers
TSX
15.62 K
1.45 K
easy-eseasy-es
Elasticsearch 国内Top1 elasticsearch搜索引擎框架es ORM框架,索引全自动智能托管,如丝般顺滑,与Mybatis-plus一致的API,屏蔽语言差异,开发者只需要会MySQL语法即可完成对Es的相关操作,零额外学习成本.底层采用RestHighLevelClient,兼具低码,易用,易拓展等特性,支持es独有的高亮,权重,分词,Geo,嵌套,父子类型等功能...
Java
19
2
杨帆测试平台杨帆测试平台
扬帆测试平台是一款高效、可靠的自动化测试平台,旨在帮助团队提升测试效率、降低测试成本。该平台包括用例管理、定时任务、执行记录等功能模块,支持多种类型的测试用例,目前支持API(http和grpc协议)、性能、CI调用等功能,并且可定制化,灵活满足不同场景的需求。 其中,支持批量执行、并发执行等高级功能。通过用例设置,可以设置用例的基本信息、运行配置、环境变量等,灵活控制用例的执行。
JavaScript
9
1
Yi-CoderYi-Coder
Yi Coder 编程模型,小而强大的编程助手
HTML
57
7
RuoYi-VueRuoYi-Vue
🎉 基于SpringBoot,Spring Security,JWT,Vue & Element 的前后端分离权限管理系统,同时提供了 Vue3 的版本
Java
147
26
anqicmsanqicms
AnQiCMS 是一款基于Go语言开发,具备高安全性、高性能和易扩展性的企业级内容管理系统。它支持多站点、多语言管理,能够满足全球化跨境运营需求。AnQiCMS 提供灵活的内容发布和模板管理功能,同时,系统内置丰富的利于SEO操作的功能,帮助企业简化运营和内容管理流程。AnQiCMS 将成为您建站的理想选择,在不断变化的市场中保持竞争力。
Go
78
5