使用嵌套集合构建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

我想构建一个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_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端点,这些端点呈现不同的信息视图