写接口时候参考了restful风格,阮一峰 RESTful API 设计指南
有如下例子
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:删除某个指定动物园的指定动物
但实际应用上,并没有这么简单,比如有接口:
列出所有所有动物:path
是 /zoos/all/animals/all
还是 /animals
,
按接口目的来看,我只关心动物 /animals
好像更合适,但与 /zoos/ID/animals
功能有重合,后台要维护两个路由
列出有大熊猫动物园:path
怎么写,
列出所有海洋动物园所有动物:path
怎么写,
实际接口中筛选条件通常会很多,而且并不会像 国>省>市>区>路
这样一级一级地缩小范围,
这种情况下,传统方式写接口似乎就非常简单,
getZoos?city=广州&anamal_type=大熊猫
getZoos?zoo_type=海洋馆
getAnimals?anamal_type=海洋生物
接口初期,功能简单,用restful非常优雅,但是功能复杂起来了,觉得好像不太适用,而且接口版本也没达到经升级的程度,就会有两种写法并存,好尴尬!
你们是怎么做的!
有没有功能复杂一点的restful例子?
慕斯709654
相关分类