【问题标题】:RESTful URI for Two (or more) Syntactically Identical Resources两个(或更多)语法相同资源的 RESTful URI
【发布时间】:2016-05-31 09:29:39
【问题描述】:

我有两个带有以下签名的 REST 端点:

DELETE /v2/cars/:carId *where carId is an integer*

DELETE /v2/cars/:carMake *where carMake is a string*

Strongloop 似乎不能很好地处理这个问题,因为它假定输入始终是 carName 而不是 carId。也许拥有两个这样的资源只是不好的做法......

有什么好的方法或者更好的设计?

我是否应该使用 Strongloop 代理对这两个端点的调用,并附加查询参数“byCarMake”?

/v2/cars/porche?byCarMake=true

还是资源位置不对?我可以这样做:

DELETE /v2/cars/carId/byCarId

这些似乎都不是一个好的解决方案。那么,根据 REST 标准,处理此类事情的最佳方式是什么?

【问题讨论】:

    标签: rest strongloop httpverbs


    【解决方案1】:

    我对 Strongloop 一无所知,但对 Restful API 了解一些。

    保持端点 URL 精简是一种很好的做法,并且查询参数非常适合对 GET 请求进行过滤/排序。但是,如果目的是通过 make 删除汽车,我会说您需要更适合的东西而不是查询参数。

    您可以反转名词以给出以下端点

    /v2/makes/:carMakeId/cars/
    

    GET 将返回指定汽车品牌的所有汽车

    DELETE 将删除指定汽车品牌的汽车

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-01-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-21
      • 2011-11-29
      • 1970-01-01
      相关资源
      最近更新 更多