Как получить параметры запроса, используя интерфейс Spark Java?

Я новичок в искруве. Я хочу прочитать мои параметры запроса, используя искру java, но я не могу найти правильный синтаксис. пожалуйста, помогите мне. Ниже приведен мой метод маршрутизации и клиентский вызов:

URL моего запроса клиента: /Smartapp/getDataViewModelConfig? CollId = 123'

Метод маршрута:

get("smartapp/getDataViewModelConfig/:id", "application/json", (request, response)

        -> {
  String id = request.params(":id");
}

Поле 'id' возвращает null здесь. Любые предложения относительно того, что здесь не так?

Ответы

Ответ 1

Если вам нужно работать с URL-адресом, таким как /smartapp/getDataViewModelConfig?collId=123, вам придется иметь дело с параметрами запроса в вашей реализации, например, со следующими:

get("smartapp/getDataViewModelConfig", "application/json", (request, response)->{
  String id = request.queryParams("collId");
  return "HI " + id;
}

Ответ 2

Если у вас есть URL-адрес, например: http://localhost:4567/smartapp/getDataViewModelConfig/456 используйте следующий код:

get("/smartapp/getDataViewModelConfig/:id","application/json", ((request, response) -> {
                response.type("application/json")
                return  request.params(":id");
            }), gson::toJson);