gpt4 book ai didi

用于搜索的 RESTful URL 设计

转载 作者:行者123 更新时间:2023-12-03 03:56:28 25 4
gpt4 key购买 nike

我正在寻找一种合理的方式将搜索表示为 RESTful URL。

设置:我有两个模型,汽车和车库,汽车可以在车库中。所以我的网址看起来像:

/car/xxxx
xxx == car id
returns car with given id

/garage/yyy
yyy = garage id
returns garage with given id

汽车可以单独存在(因此是/car),也可以存在于车库中。例如,代表给定车库中的所有汽车的正确方法是什么?像这样的东西:

/garage/yyy/cars     ?

车库中的汽车 yyy 和 zzz 的联合怎么样?

表示搜索具有某些属性的汽车的正确方法是什么?说:显示所有 4 门蓝色轿车:

/car/search?color=blue&type=sedan&doors=4

还是应该改为/cars?

“搜索”的使用似乎不合适 - 有什么更好的方法/术语?是否应该是:

/cars/?color=blue&type=sedan&doors=4

搜索参数应该是 PATHINFO 或 QUERYSTRING 的一部分吗?

简而言之,我正在寻找跨模型 REST url 设计和搜索的指导。

[更新]我喜欢贾斯汀的回答,但他没有涵盖多字段搜索案例:

/cars/color:blue/type:sedan/doors:4

或者类似的东西。我们如何从

/cars/color/blue

多字段情况?

最佳答案

对于搜索,请使用查询字符串。这是完全 RESTful 的:

/cars?color=blue&type=sedan&doors=4

常规查询字符串的一个优点是它们是标准的且被广泛理解,并且可以从 form-get 生成。

关于用于搜索的 RESTful URL 设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/207477/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com