java - 使用 queryMap 进行 Spark 路由解析

标签 java rest spark-java

我正在使用 Spark java 作为我的 API。我有以下网址

get("/template/:id") -> controller.getById(req, res).handle(req, res)
get("/template/:name") -> controller.getByName(req, res).handle(req, res)

现在我的方法 getByName 将不会被调用,因为请求将始终将其映射到 :id 调用。那么有没有一种方法可以在 Spark-Java 中处理这个问题。我猜 QueryMap 可能很有用,但我不知道如何使用它。

最佳答案

您可以使用两种可能的解决方案:

  1. 创建两条不同的路线:

get("/template/id/:id") ->controller.getById(req, res).handle(req, res); get("/template/name/:name") ->controller.getByName(req, res).handle(req,res);

  • 仅创建一条路由并使用参数:
  • get("/template") ->controller.getByIdName(req, res).handle(req, res);

    然后用你想要的参数调用它,例如: "/template?id=1234&name=Joe" 并使用 req.queryParams("id") 解析 getByIdName 内的参数req.queryParams("名称")

    关于java - 使用 queryMap 进行 Spark 路由解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43081495/

    相关文章:

    java - 星火Java : Unable to process parts as no multi-part configuration has been provided

    java - 考虑到问题标准,是否有比冒泡排序更有效的形式对该数组进行排序?

    从文件读取时出现 java.lang.NumberFormatException

    android - 如何突破 API 的使用限制?

    android - 在 android 中使用 rest api 和解析数据、jackson 或 groovy 的最佳方法是什么?

    java - 在过滤器之后使用 Java Spark 在发生 404 时运行自定义操作

    java - Android Studio - 从图库中导入图像

    java - Android 中的 XML 解析器

    java - 从 REST 服务将 .zip 文件作为二进制 InputStream 上传

    html - 如果提供服务而不是将其视为常规文件,为什么 Html 音频控件在 html 中失败