繁体   English   中英

REST API的复杂请求

[英]Complex requests with REST API

我想知道在创建本质上构成BI工具的东西时是否可以遵守REST原则。

在我的场景中,我具有100,000个ID的高数据量(坦白地说,比这还要多,但是为了这个示例,让我们继续。) 这些以传统表的形式呈现,当访问大数据集(例如分页)时,该表允许必要的功能。 用户还可以按其中一个或多个ID进行过滤,以便在他们认为合适的情况下向下钻取数据集。

从理论上讲,用户可能希望对100个ID进行过滤,从而使GET URI变得异常长。 据我了解,这将破坏REST API的资源标识原理。 更不用说可能会遇到某些浏览器在GET请求中字符限制的问题,因为ID可能很长。 通常,我只使用POST,因为我可以在主体中添加所有应用的过滤器并在服务器上生成where子句。

由于REST API中的POST应该

在集合中创建一个新条目。

从定义上看,至少对我来说,生成类似这样的复杂查询将意味着REST API是不可能的。 或这是否意味着我正在错误地解决该问题(完全合理)。

在我的场景中,由于参数的潜在长度,似乎根本无法使用GET。 因此,我被迫使用POST。 尽管我使用POST似乎违反了REST风格,但这并不是世界末日。 我主要只是想仔细检查我是否没有丢失任何东西,并且没有使用GET的解决方案。

遵循资源原则,进行类似资源的搜索。 将您的ID发布到该端点的正文中,它将为您准备结果列表,并将您重定向到searchresults / {id}。

参见例如: https : //gooroo.io/GoorooTHINK/Article/16583/HTTP-Patterns---Bouncer/25829#.W3aBsugzaUk

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM