Python 库:数据建模
既然认证已经就绪,我们就可以开始发起经过认证的请求并获取数据了!
在建模数据时,重要的是我们要以 API 所提供的相同结构来暴露数据。某些 API 设计可能不太合理,或者包含拼写错误。我们仍然需要在对象中如实表示它们。这使得使用你的库的开发者可以轻松参考 API 文档,并了解它在你的库中如何工作。
API 库应尽量做到最少。因此,将数据结构表示为类是可以的,但你不应该将一个值转换为另一个值。例如,你不应该实现 Celsius 和 Fahrenheit 温度之间的转换。这涉及到对结果精度的决策,因此应该交由使用库的开发者来处理。
在这个示例中,我们将为名为 ExampleHub 的 Rest API 构建一个 async 库,它有两个 endpoints:
-
get
/light/<id>:查询单个 light 的信息。 -
post
/light/<id>:控制 light。发送的示例 JSON:{ "is_on": false }。返回 light 的新状态。 -
get
/lights:返回所有 lights 的列表
由于此 API 表示 lights,我们首先要创建一个类来表示 light。
现在我们有了 light 类,可以建模 API 的根部分,它提供了数据的入口点。
有了这两个文件,我们现在可以这样控制 lights:

