更新:
URL 应该用于指定 API 要管理的“资源”。
资源是“动物”(猫/狗/……),它们由类型/颜色/重量/名称唯一标识。
在进行 URL 设计之前,需要定义“业务”操作;否则,URL 的设计方式无关紧要。
假设您将需要以下业务操作
- A) 创造动物
- B) 获取动物的信息
- C) 获取所有或部分动物的信息
- D) 更新动物
如果提供好处,仍然可以使用(生成)id;否则,它可以保存在服务器端而不暴露给客户端。无论哪种方式它仍然有效..
A) 创造动物
POST: /api/v1/animals/dogs/black/12/jack/
RETURN: id: <id>
或者
POST: /api/v1/animals/dogs
BODY: {‘color’ : ‘black’, ‘name’ : ‘jack’, ‘weight’ : 12 }
RETURN: id: <id>
B) 获取动物的信息
GET: /api/v1/animals/<id>/
或者
GET: /api/v1/animals/dogs/black/12/jack/
C) 获取所有或部分动物的信息
GET: /api/v1/animals/dogs/
或者
GET: /api/v1/animals/dogs/black/
D) 更新动物
PUT: /api/v1/animals/<id>
BODY: {‘name’ : ‘jackjunior’}
或者
PUT: /api/v1/animals/dogs/black/12/jack/
BODY: {‘name’ : ‘jackjunior’}
设计愉快!