gpt4 book ai didi

url - REST URL命名约定/items/{id}与/items?id = {id}

转载 作者:行者123 更新时间:2023-12-04 06:21:46 27 4
gpt4 key购买 nike

我了解在MVC模式和REST服务中,通常使用/items/{id}之类的URI,但是在URI中使用查询参数有什么不好的事情呢?
GET /items/{id}GET /items?id={id}
进一步说,假设一个实体的“referenceId”字段指向某个相关的(例如父实体)实体,我需要创建REST服务来获取父实体的所有项目,这种方法更好:

GET(POST) /items/parent/{parentId} 

或者
GET(POST) /items?parent={parentId}

对于能帮助我解决有关为REST服务构建URL的主观问题的见解将不胜感激。

最佳答案

我将使用以下方案。

/items/id

这唯一地解决了ID为 id的项资源。我们没有使用参数作为唯一寻址此资源的参数(与其他选项一样)。就像
miguelcobain建议。
/parent/id/items

这里 id是一个ID,用于唯一地寻址父级资源,并从中收集/检索其引用的项。从您在问题中所说的看来,父级似乎引用了多个项目,例如容器或集合。

我为此使用的约定是缩小从左到右的范围。因此,如果项目可能是 activeinactive。因此,项具有的属性或属性为 activeinactive。对此我缩小范围,可以得到以下方案:
/items/active
/parent/id/active

关于url - REST URL命名约定/items/{id}与/items?id = {id},我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14342835/

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