当前位置: 首页 > 知识库问答 >
问题:

如何在spring REST中创建查询解析器来解析查询参数

钮善
2023-03-14

我的查询参数如下所示:

q=name:abc+age:20+roleid:(23|45)|audeince:(23|24).Here + is for AND | is for OR

我必须接受这个查询参数,因为它进入了我的spring控制器,并且必须向solar查询以获取数据。

@Controller
@RequestMapping("/user")
public class BooksController {
 @RequestMapping(value="/details", method=RequestMethod.GET)
public ResponseEntity<?> getUser(final HttpServletRequest request) {

  String params = requestParams.get("q")[0];
    //passing this string to make query in apache solar
}
}

首先使用regex进行以下转换:(abcbcd)+----------segment1

最后名称:ABC+...............Segment2

电子邮件:ABC+...............Segment3

我有一门课叫

类Queryobj{

私有字符串字段;

值={abc,bcd}

内部操作人员=

ExternalOperator=+

之后,将每个对象添加到链接列表中。如果internalOperator或externalOperator为null,则将其保留为null。我如何实现这一点

共有1个答案

郎睿
2023-03-14

您可以使用此regex模式获取“key:value operator”段

Pattern keyValuePattern = Pattern.compile("[\\w]+:([\\w@.]+|\\([\\w|+@.]+\\))[+|]?");
 类似资料:
  • 问题内容: 有什么方法可以创建 查询参数 以在JavaScript中执行 GET请求 吗? 就像在Python中一样,它具有一个字典(或两个元组的列表)并创建一个类似的字符串。 问题答案: 干得好: 用法:

  • 我正在用Java编写一个DL查询解析器。当我将类名作为输入时,代码给出了正确的输出,但当我给出“hasColor value Red”或“hasSugar value Dry”这样的查询时,代码什么也不返回。我正在使用OWLAPI。

  • 问题内容: 在Javascript中,如何获取URL字符串(而不是当前URL)的参数? 喜欢: 我可以在JSON对象中获取“ v”和“ p”吗? 问题答案: 您可以放心使用。如@ricosrealm所建议,在此函数中使用了它。 实际上不是那么简单 ,请参阅注释中的同行评审,尤其是: 基于哈希的路由(@cmfolio) 数组参数(@ user2368055) 正确使用解码URIComponent 和

  • 主要内容:Java DOM4J解析器 查询XML文档的示例Java DOM4J解析器 查询XML文档的示例 需要解析的文件input.xml 编写Java DOM4J解析器 查询XML文档的程序 输出结果为:

  • 主要内容:Java XPath解析器 查询XML文档的示例Java XPath解析器 查询XML文档的示例 需要解析的文件input.xml 编写Java XPath解析器 查询XML文档的程序 输出结果为:

  • 主要内容:Java StAX解析器 查询XML文档的示例Java StAX解析器 查询XML文档的示例 需要解析的文件input.xml 编写Java StAX解析器 查询XML文档的程序 输出结果为: