会员
周边
众包
新闻
博问
闪存
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
躺柒
博客园
首页
新随笔
联系
订阅
管理
随笔 - 788
文章 - 0
评论 - 17
阅读 -
49126
读C#代码整洁之道笔记06_API的设计与开发
合集 - 读C#代码整洁之道(8)
1.
C#代码整洁之道读后总结与感想
2023-01-16
2.
读C#代码整洁之道笔记01_C#的编码标准和原则
2023-03-20
3.
读C#代码整洁之道笔记02_类、对象和数据结构及编写整洁函数
2023-03-21
4.
读C#代码整洁之道笔记03_切面关注点、异常处理和线程与并发
2023-03-22
5.
读C#代码整洁之道笔记04_重构C#代码识别代码坏味道
2023-03-23
6.
读C#代码整洁之道笔记05_使用工具改善代码和单元测试
2023-03-24
7.
读C#代码整洁之道笔记06_API的设计与开发
2023-01-06
8.
读C#代码整洁之道笔记07_代码评审和集成测试
2023-01-07
1.
API
1.1.
Application Programming Interface
1.1.1.
应用程序编程接口
1.2.
一组可以在不同的应用和程序中共享的可复用的程序库
1.3.
由REST服务提供的API=RESTful API
1.3.1.
Representational State Transfer,REST
1.3.1.1.
表述性状态传递
1.3.2.
Roy Fielding在2000年引入
2.
RESTful API
2.1.
统一接口
2.1.1.
接口用于识别资源,并使用表述来操作资源
2.2.
客户端-服务器
2.2.1.
只有客户端能够调用的API是可见的
2.2.2.
与系统的其他部分独立
2.3.
无状态
2.3.1.
没有会话也没有历史
2.4.
可缓存
2.4.1.
资源必须声明其缓存性,这样就可以更快地访问资源
2.4.1.1.
获得速度的提升
2.4.1.2.
降低服务的负载
2.5.
分层系统
2.5.1.
每一层仅仅具备一种职责
2.6.
可选的可执行代码
2.6.1.
服务器可以通过传输可执行代码临时扩展或者自定义客户端的功能
2.7.
所以
2.7.1.
不要假定最终用户是具备特定级别经验的程序员
2.7.2.
不必一次性创建完美的API
2.7.3.
高价值的资产
2.7.3.1.
收费服务
2.7.4.
可以永久有效
3.
API代理
3.1.
介于客户端和API中间的类
3.2.
API开发者和使用该API的开发人员之间的API契约
4.
API设计准则
4.1.
基本准则
4.1.1.
API包含资源
4.1.1.1.
资源会形成集合
4.1.1.2.
资源应当使用复数形式的名词
4.1.1.3.
API终结点(endpoint)是资源的地址
4.1.1.3.1.
URL
4.1.1.3.2.
只能够包含复数名词
4.1.1.3.3.
不能包含动词或动作
4.1.2.
GET请求来获得资源
4.1.3.
HEAD请求来获得头部信息
4.1.3.1.
头部信息中应当始终包含调用者的标识信息
4.1.4.
POST请求插入或者保存新的资源
4.1.5.
PUT请求替换资源
4.1.6.
PATCH更新或修改一个资源或者资源集合
4.1.7.
DELETE请求来删除资源
4.1.8.
使用查询参数保持资源精简
4.1.9.
API的版本可以在URL中体现
4.1.10.
JSON是首选的资源表述方式
4.1.11.
应当始终为API启用HTTPS(TLS)
4.1.12.
使用API代理
4.1.12.1.
安全和性能的因素
4.1.12.2.
避免暴露数据库的架构
4.1.12.2.1.
发送到客户端的响应不应与数据库的结构一致
4.1.13.
应当提供使用文档与范例
4.2.
明确定义软件边界
4.2.1.
领域驱动开发
4.2.2.
应当公开的唯一信息就是接口的契约以及API终结点
4.3.
高质量API文档
4.3.1.
文档记录不足时,代码重复会成为一个真正的问题
4.3.2.
应当注意标记为弃用或过时的代码
4.3.3.
Swagger工具
4.3.3.1.
设计:设计API,并确保API模型符合基于标准的规范
4.3.3.2.
创建:使用C#创建文档可重用的API
4.3.3.3.
编写文档:为开发人员编写可交互的文档
4.3.3.4.
测试:方便地对API进行测试
4.3.3.5.
标准化:使用公司的规范对API架构进行约束
4.4.
传递不可变结构体而非可变对象
4.4.1.
结构体比对象运行更快并且不可变对象是线程安全的
5.
RAML
5.1.
RESTful API建模语言
5.2.
一种基于YAML格式的新规范
6.
使用API密钥保护API
6.1.
Azure Key Vault
6.1.1.
Azure 中几个关键管理解决方案之一
6.1.2.
机密管理
6.1.3.
密钥管理
6.1.4.
证书管理
6.2.
范例API项目——股息日历(略)
6.2.1.
实践是学习的最佳途径
合集:
读C#代码整洁之道
好文要顶
关注我
收藏该文
微信分享
躺柒
粉丝 -
50
关注 -
0
+加关注
0
0
升级成为会员
»
下一篇:
读C#代码整洁之道笔记07_代码评审和集成测试
posted @
2023-01-06 21:44
躺柒
阅读(
44
) 评论(
0
)
编辑
收藏
举报
刷新页面
返回顶部
登录后才能查看或发表评论,立即
登录
或者
逛逛
博客园首页
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
相关博文:
·
读程序员的README笔记17_构建可演进的架构(下)
·
读C#代码整洁之道笔记01_C#的编码标准和原则
·
restfulAPI
·
RESTful API
·
什么是Restful风格的API
阅读排行:
·
【.NET】调用本地 Deepseek 模型
·
CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
·
DeepSeek “源神”启动!「GitHub 热点速览」
·
我与微信审核的“相爱相杀”看个人小程序副业
·
Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
公告
昵称:
躺柒
园龄:
2年1个月
粉丝:
50
关注:
0
+加关注
<
2025年2月
>
日
一
二
三
四
五
六
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
1
2
3
4
5
6
7
8
搜索
常用链接
我的随笔
我的评论
我的参与
最新评论
我的标签
合集
学信息系统项目管理师第4版(35)
学系统集成项目管理工程师(中项)(43)
读高性能MySQL(第4版)(21)
读发布!设计与部署稳定的分布式系统(第2版)(34)
随笔及总结(26)
读改变未来的九大算法(10)
读数据压缩入门(11)
读C#代码整洁之道(8)
读编程与类型系统(12)
读函数式编程思维(6)
读Java8函数式编程(9)
读Java实战(第二版)(20)
读Java性能权威指南(第2版)(31)
读SQL进阶教程(17)
选读SQL经典实例(23)
读SQL学习指南(第3版)(13)
读图数据库实战(11)
读程序员的制胜技(15)
读像火箭科学家一样思考(16)
读程序员的README(19)
读算法霸权(13)
读元宇宙改变一切(14)
读AI3.0(10)
读千脑智能(13)
读十堂极简人工智能课(9)
读人工不智能:计算机如何误解世界(10)
读算法的陷阱:超级平台、算法垄断与场景欺骗(20)
读所罗门的密码(21)
读天才与算法:人脑与AI的数学思维(26)
读人工智能时代与人类未来(19)
读AI未来进行式(12)
读AI新生:破解人机共存密码(18)
读人工智能全传(16)
读写给大家的AI极简史(7)
读零信任网络:在不可信网络中构建安全系统(21)
读软件开发安全之道:概念、设计与实施(17)
读软件设计的要素(7)
读构建可扩展分布式系统:方法与实践(16)
读数据湖仓(9)
读数据工程之道:设计和构建健壮的数据系统(34)
读数据质量管理:数据可靠性与数据质量问题解决之道(20)
读数据保护:工作负载的可恢复性(31)
读量子霸权(18)
读算法简史:从美索不达米亚到人工智能时代(15)
读当我点击时,算法在想什么?(7)
读DAMA数据管理知识体系指南(4)
更多
随笔档案
2025年2月(25)
2025年1月(31)
2024年12月(31)
2024年11月(30)
2024年10月(31)
2024年9月(30)
2024年8月(31)
2024年7月(31)
2024年6月(30)
2024年5月(31)
2024年4月(30)
2024年3月(31)
2024年2月(29)
2024年1月(31)
2023年12月(31)
2023年11月(30)
2023年10月(31)
2023年9月(30)
2023年8月(31)
2023年7月(31)
2023年6月(30)
2023年5月(31)
2023年4月(31)
2023年3月(36)
2023年2月(28)
2023年1月(26)
阅读排行榜
1. C#代码整洁之道读后总结与感想(599)
2. 选读SQL经典实例笔记01_检索和排序(369)
3. 读C#代码整洁之道笔记01_C#的编码标准和原则(311)
4. 读C#代码整洁之道笔记04_重构C#代码识别代码坏味道(309)
5. 学信息系统项目管理师第4版系列02_法律法规(268)
评论排行榜
1. 2023年1月随笔(11)
2. 2023年10月随笔之婚宴趣事多(2)
3. 读高性能MySQL(第4版)笔记12_查询性能优化(下)(2)
4. 读Java性能权威指南(第2版)笔记18_垃圾回收E(2)
推荐排行榜
1. 读高性能MySQL(第4版)笔记01_MySQL架构(上)(2)
2. 选读SQL经典实例笔记01_检索和排序(2)
3. 读软件设计的要素01概念(1)
4. 读AI未来进行式笔记01深度学习(1)
5. 读所罗门的密码笔记01_当人类遇见机器(1)
最新评论
1. Re:2023年10月随笔之婚宴趣事多
@gz4621 wondershare mindmaster...
--躺柒
2. Re:2023年10月随笔之婚宴趣事多
大神 思维导图用的什么软件制作的?
--gz4621
3. Re:读高性能MySQL(第4版)笔记12_查询性能优化(下)
@东围居士 建议读新版。...
--躺柒
4. Re:读高性能MySQL(第4版)笔记12_查询性能优化(下)
第4版相比第3版好像缩减了好多内容?楼主推荐第3版还是第4版
--东围居士
5. Re:读Java性能权威指南(第2版)笔记18_垃圾回收E
@屠炉 没有用第三方工具,手动的。 有几个平台直接支持markdown导入,只是要调整一下图片上传即可。...
--躺柒
点击右上角即可分享
支持DeepSeek的编程助手
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 【.NET】调用本地 Deepseek 模型
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库