使用嵌套集合构建REST web服务+;条目内的集合
我想构建一个REST Web服务,它将提供:使用嵌套集合构建REST web服务+;条目内的集合,rest,atompub,Rest,Atompub,我想构建一个REST Web服务,它将提供: 嵌套集合 条目内的集合 嵌套集合将用于将概念从一般细化到特殊,例如: /vehicles/road_vehicles/cars/AB-123-CD /cars/AB-123-CD/engine/spark_plugs/1 其想法是限制出现在Web服务根目录中的概念数量 条目内的集合将用于访问部分条目,例如: /vehicles/road_vehicles/cars/AB-123-CD /cars/AB-123-CD/engine/spark_p
/vehicles/road_vehicles/cars/AB-123-CD
/cars/AB-123-CD/engine/spark_plugs/1
其想法是限制出现在Web服务根目录中的概念数量
条目内的集合将用于访问部分条目,例如:
/vehicles/road_vehicles/cars/AB-123-CD
/cars/AB-123-CD/engine/spark_plugs/1
对于id为“AB-123-CD”的汽车的第一个火花塞,可能是一个很好的URI。每当删除“容器”意味着删除其所有部分时,嵌套集合就有意义
DELETE /cars/AB-123-CD
显然将删除:
/cars/AB-123-CD/engine/spark_plugs/1
以及汽车的所有其他部件(将汽车视为通过删除发送到废料)
问题:虽然这种“干净的URI”是一种常见的需求,但有没有软件可以简化这种Web服务的构建
(AtomPub)似乎是一个很好的候选者,因为他们对Web服务的设想与我想要的非常接近,但它似乎不支持嵌套集合。这篇文章指出,基于查询的API将权力交给了请求开发人员,尽管这种权力有限。在AtomPub构建工具中可以使用AtomPub和查询参数。我找到了一些搜索“基于API查询”的示例,但找不到实际的定义
https://developers.google.com/google-apps/contacts/v3/#retrieving_contacts_using_query_parameters
http://resources.arcgis.com/en/help/arcgis-rest-api/index.html#/Query_Related_Records_Map_Service_Dynamic_Layer/02r3000000nt000000/
作者接着说,经验丰富的API具有特定于设备的包装器,但它们是由设备团队设计、实现和拥有的。也许解决问题的方法是创建不同的AtomPub端点,这些端点呈现不同的信息视图