首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >设计不精确滤波端点的正确、RESTful方法

设计不精确滤波端点的正确、RESTful方法
EN

Stack Overflow用户
提问于 2018-12-11 20:31:23
回答 1查看 90关注 0票数 0

假设我有GET /objects/{id}、GET /objects/{code}和POST /objects的端点,正如RESTful设计所规定的,而objectsnamecode字段(唯一)。

我想在另一个应用程序中使用objects数据,特别是在namecode上进行自动过滤。

在我看来,选择是

  • 获取/objects?q={user-input},其中q是用户键入的内容,后端使用LIKE '%{user-input}%'执行SELECT语句
  • 使用JSON有效负载发布/objects/search

哪个是RESTful?还有其他选择吗?

EN

回答 1

Stack Overflow用户

发布于 2018-12-11 23:54:46

这取决于我的目标是什么。

如果我的应用程序所做的,除了"cruding“对象,是通过自动完成搜索,或者其他一些固定的搜索,我将使用一个特定的端点和操作。

  • GET /objects/autocomplete?prefix=<>

这看起来可能很奇怪,因为这根本不是RESTful,但我的重点是创建一个简单而具体的端点,以防这就是您的应用程序的全部内容。

但当然,如果应用程序需要支持更灵活的过滤,我会选择一个POST请求与过滤器在有效载荷。

  • POST /objects/search

两者都不一定是非常RESTful的,在我看来REST并不总是最好的策略,更重要的是用例。无论如何,对象"cruding“和relations是(RESTful),所以我将保留这些操作,这就是为什么您可能更喜欢/objects/search而不是仅仅/objects (在GET和POST中),以确保您不影响域。

您可以在这里更深入地阅读:https://softwareengineering.stackexchange.com/questions/353086/what-is-a-proper-way-to-do-a-complex-restful-search-method

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

https://stackoverflow.com/questions/53731907

复制
相关文章

相似问题

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