nova-api 的代码结构图
如上图所示, 类图中最重要的三个Category
Router / APIRouter
- Router是 Paste-Deploy框架中的一个middleware. Paster/deploy收到HTTP请求后, 先发给Router进行处理.
- Router收到HTTP请求后, 根据内部的Routes/MAP表, 把不同的HTTP请求分派到不同的 Application/Resource中.
Application/Resource
- Application / Resource 提供序列化和反序列化HTTP字符串的功能
- Application / Resource 收到HTTP请求后, 调用对应的Controller的对应方法
- Controller 负责处理最终的HTTP request. 对每一个REST服务, 提供对应的函数. 例如
GET /v2/{tenant_id}/servers ==> index ()
GET /v2/{tenant_id}/servers/detail ==> detail()
GET /v2/{tenant_id}/servers/{server_id} ==> show()
POST /v2/{tenant_id}/servers ==> create()
PUT /v2/{tenant_id}/servers/{server_id} ==> update()
DELETE /v2/{tenant_id}/servers/{server_id} ==> delete()
|