gpt4 book ai didi

rest - 根据替代标识符获取 REST API 中的资源

转载 作者:行者123 更新时间:2023-12-03 08:58:30 27 4
gpt4 key购买 nike

根据不同标识符获取资源的 REST API 约定是什么?

例如

GET
/resource/{id}

GET
/resource/{guid}

由于这可能被视为重复资源,并且为此设置路由可能会出现问题,那么遵循 REST API 指南的替代方案是什么?

也许

/resources/?guid={guid}

/resources/guid/{guid}

还是别的什么?

最佳答案

简短回答

您可以同时使用 /resource/{id}/resource/{guid}。许多框架支持正则表达式来匹配路径参数值。

长答案

REST 是一种架构风格,而不是设计 URI 的手册(请参阅下面的注释)。它不强制执行任何 URI 设计,您完全可以选择能够更好地标识您的资源的 URI。

您应该记住的是:拥有 multiple mappings 就完全没问题了。对于同一实体。根据 Fielding 的论文,每个映射都是一个资源:

A resource is a conceptual mapping to a set of entities, not the entity that corresponds to the mapping at any particular point in time.

话虽如此,如果您支持 DELETE ,重要的是要提及它应该如何工作:

4.3.5. DELETE

The DELETE method requests that the origin server remove the association between the target resource and its current functionality. In effect, this method is similar to the rm command in UNIX: it expresses a deletion operation on the URI mapping of the origin server rather than an expectation that the previously associated information be deleted. [...]


注释 1: URI 语法在 RFC 3986 中定义。 。作为一般规则,路径以分层形式组织(分段由/分隔),并且可以在查询组件中包含非分层数据(以? 开头) )。

注释 2: REST 架构风格在 chapter 5 中进行了描述。 Roy T. Fielding 的论文,它定义了遵循此类架构的应用程序必须遵循的一组约束。然而,它没有说明 URI 必须是什么样子。

注释 3:popular article示例由 Martin Fowler 撰写,解释了 Leonard Richardson 定义的模型建议一个看起来友好且易于阅读的 URI 结构。

关于rest - 根据替代标识符获取 REST API 中的资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53081847/

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