
古籍OCR API:让中华古籍文化焕发新生
在API开发中,一个常见问题是文档往往只关注单个操作的记录,而忽略了多个操作之间的关联及现实工作流。
这种孤立设计在单个API操作上可能合理,但真正挑战在于用户如何协调操作以实现目标。如果文档未能清晰指导用户完成这些流程,可能导致:
在深入README风格文档前,建议通过OpenAPI规范(OAS)建立技术基础。OpenAPI是一种行业标准格式,提供机器可读的API描述,包括端点、参数、请求/响应结构及错误代码等。
示例:电子商务API的OpenAPI片段:
paths:
/products/{productId}:
get:
summary: 获取产品信息
parameters:
- name: productId
in: path
required: true
schema:
type: string
responses:
'200':
description: 成功返回产品信息
通过OpenAPI规范,用户可以全面了解API结构,但单靠技术参考文档无法充分指导实际工作流。
传统API文档侧重技术参考,说明端点、请求/响应和错误码。这种方法虽然详细,却忽略用户实际使用场景,导致:
因此,仅依赖传统文档无法满足实际使用需求。
README风格文档将关注点从单个操作转向用户工作流,通过现实场景展示API使用方式,演示如何将多个操作串联完成任务。
创建README风格文档的步骤:
分析用户需求,识别希望通过API完成的任务。
使用简洁语言描述每步操作顺序和逻辑。
针对不同编程语言提供实际可运行示例,帮助快速实现目标。
利用文档平台将README文档与技术参考资料无缝结合。
对于复杂API,可先从常见工作流入手,再逐步扩展到其他场景。
通过README风格工作流展示如何:
/products/get
获取产品信息/orders/create
创建订单/orders/{orderId}/items
添加商品示例代码片段:
POST /orders/1/items
Content-Type: application/json
[
{ "product_id": 123, "quantity": 2 },
{ "product_id": 456, "quantity": 1 }
]
分步指南帮助用户理解完整流程,避免歧义。
Bump.sh的x-topic扩展支持将README文档嵌入OpenAPI规范。开发者可用Markdown包含工作流细节,并通过平台渲染。
示例:
x-topics:
- title: 创建新订单
content: |
使用/orders/create操作创建新订单。
- title: 添加商品到订单
content: |
使用/orders/{orderId}/items操作将商品添加到订单中。
也可通过外部JSON引用,将文档与API规范分离。
OpenAPI正在开发新的工作流规范,正式定义和记录API工作流,提供结构化方法捕获完成任务的操作序列。
示例:
workflows:
createOrderAndAddItems:
description: 创建新订单并向其中添加商品
steps:
- operationId: getProductById
path: /products/{productId}
- operationId: createOrder
path: /orders
- operationId: addItemsToOrder
path: /orders/{orderId}/items
这种规范化方式将帮助开发者更高效地设计和记录复杂API工作流。
README风格API文档通过关注用户工作流,显著提升API可用性和用户体验:
结合Bump.sh的x-topic扩展和即将推出的OpenAPI工作流规范,开发者可创建更直观、标准化且用户友好的API文档,从而推动API广泛应用和成功。
原文链接: https://bump.sh/blog/using-readme-style-api-documentation-to-enhance-your-api-design