首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对于只从一些文档中提取数据的REST API端点,什么是apt资源名称?

对于只从一些文档中提取数据的REST API端点,什么是apt资源名称?
EN

Stack Overflow用户
提问于 2020-10-31 21:54:59
回答 1查看 40关注 0票数 0

我正在构思为POST请求设计一个REST API端点,它从我在有效负载中提供的一些文档中提取数据,并将其存储在数据库或某个临时位置中。我还需要GETDELETE端点来检索和删除提取的数据。我正在尝试找出一个resource名称来证明这个数据提取过程的输出是合理的,我认为它是extracted data,并且也符合REST API约定,即不将资源名称命名为动词而是名词。按照REST API约定,我们处理的资源只有extracted-data。我们不能给它起像POST /extract-data这样的名字,因为它变成了动词。或者像POST /data-extraction这样的东西也不符合我的要求,因为它看起来更像是一个进程名称而不是一个资源。我相信做一个POST请求来提取数据,我提供了对象/文档作为输入,在输出中我创建的所有东西都是extracted-data,我可以GET extracted-data,也可以DELETE extracted-data,使它成为我可以处理的资源。因此,根据我的思考过程,我想到了以下几个端点:

(i.)发布/extracted-data

(Ii)获取/extracted-data/{id}

(Iii)删除/extracted-data/{id}

对于所述的用例,上述端点真的是一个很好的资源命名吗?还是有更好的方法来实现它?

EN

回答 1

Stack Overflow用户

发布于 2020-10-31 23:34:37

记住,REST并不关心您对资源标识符使用的拼写约定,只要它们与RFC 3986中的产生式规则一致即可。

我们不能将它命名为POST /extract-data,因为它变成了动词

标识符的拼写并不重要,因为method token是“请求语义的主要来源”。

因为机器不关心,所以我们有了额外的自由度。所以我们可以设计URI来获得更多我们想要的东西。例如,将其与人类在谈论资源时使用的名称对齐。

在REST上下文中,Resources是文档的泛化。万维网是REST架构风格的参考实现;web上有趣的资源是“网页”。

资源不是“动作”,它们是被动作修改的网页。因此,您希望选择一个与web页面/文档/资源的名称一致的标识符,而不是选择一个与更改操作一致的标识符。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64622443

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档