REST API端点命名
让我们考虑一下,我有这个模型Car
:
{ id: id, name: name, color: color }
而关于我有这些终点,通过ID获得一辆车:
GET http://example.com/api/cars/:id
和
GET http://example.com/api/cars (get all cars )
例如,命名只能获取红色汽车的terminal的最佳做法是什么?
为什么不在现有的/cars
端点中使用color
查询参数?
GET http://example.com/api/cars?color=red
你只是过滤一个集合。 这就是查询参数。
在Express中,使用req.query.color
获取color
查询参数的值。 有关更多详细信息,请查看Express API参考 。
为了让所有的红色汽车使用这个
GET http://example.com/api/cars?color=red
为了获得具体的红色汽车使用这个
GET http://example.com/api/cars/{id}?color=red
为什么不使用这个
得到所有红色汽车
[GET] http://example.com/api/car?color=red
得到红色的特定车
[GET] http://example.com/api/car?color=red&id=xxx