json-server 中的 OR 运算符

问题描述 投票:0回答:2

我可以通过调用从json-server(假服务器)获取数据:

http://localhost:3000/posts?title_like=head&comments_like=today

这将返回标题为“head”的记录,

AND
评论为“today”。 如果我想要的不是
AND
而是
OR
运算符怎么办?

javascript json npm json-server
2个回答
0
投票

实现路由的方法有多种,就像 @lewis 提到的那样。如果您还没有实现路由,也许这是一个很好的起点(如果您必须在 URL 中提供输入)。

“...title_like=head&comments_like=today”只是一个 URL,我不认为 URL 是指定“OR”逻辑的最佳位置。应由您的服务器端代码决定是否在提供的参数之间使用“AND”或“OR”逻辑。

如果您最终使用了上面的 URL,并且服务器端代码实际上实现了“OR”逻辑,您的客户可能会感到困惑,因为他们可能期望“AND”行为,特别是如果他们没有阅读您的文档。

另一种选择是在 body 参数中提供输入,而不是 URL。主体参数可以并且用于“AND”和“OR”逻辑。这样,您还可以与用户沟通,正文中的两个值都将用于“OR”逻辑,而不是“AND”逻辑(同样,如果您的客户确实阅读了文档)


0
投票

如果它在同一字段上,您可以使用正则表达式

GET /posts?title_like=(?:hello|world)

据我所知,如果它属于类似的领域,那么您必须先提出 2 个请求,然后再加入它们。不久前,我出于不同的目的制作了一个fork,但它可以帮助你实现你想要的:

GET /posts?q=search-text&attr=fieldName1,fieldName2,fieldName3,etc

这将在指定字段内搜索

search-text

© www.soinside.com 2019 - 2024. All rights reserved.