我有两个带有以下签名的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标准,处理这样的事情的最佳方法是什么?
答案 0 :(得分:0)
我对Strongloop
一无所知,但对Restful API一无所知。
最好保持端点URL的精简,并且查询参数非常适合在GET请求上进行过滤/排序。但如果目的是删除汽车,我会说你需要的东西更适合而不是查询参数。
您可以将名词反转以提供以下端点
/v2/makes/:carMakeId/cars/
GET
将返回指定汽车制造商的所有汽车
DELETE
将删除指定汽车制造商的汽车