```http
GET /zoos:列出所有动物园
POST /zoos:新建一个动物园(上传文件)
GET /zoos/ID:获取某个指定动物园的信息
PUT /zoos/ID:更新某个指定动物园的信息(提供该动物园的全部信息)
PATCH /zoos/ID:更新某个指定动物园的信息(提供该动物园的部分信息)
DELETE /zoos/ID:删除某个动物园
GET /zoos/ID/animals:列出某个指定动物园的所有动物
DELETE /zoos/ID/animals/ID:删除某个指定动物园的指定动物
```
- GET /collection:返回资源对象的列表(数组)
- GET /collection/resource:返回单个资源对象
- POST /collection:返回新生成的资源对象
- PUT /collection/resource:返回完整的资源对象
- PATCH /collection/resource:返回完整的资源对象
- DELETE /collection/resource:返回一个空文档
###### 9. 其他
服务器返回的数据格式,应该尽量使用JSON,避免使用XML
### 使用Django开发REST 接口
##### 1.接口设计
对于过滤条件 通过在路径中添加查询参数 如:books?page=1&limit= 10
**路由匹配**
对于路由的匹配,由请求路径可以得出,分为带id的和不带id的两种,所以写路由时可以写2个路由 分别是 book 和books