Как управлять большим количеством параметров для одного и того же URL-адреса с помощью jersey-servlet

Я разрабатываю REST API, который имеет около 20 сервисов. Все это запросы HTTP GET с одним и тем же URL-адресом и разными параметрами для разных служб. Всего около 100 параметров для всего API. Я использую библиотеку Джерси для API. Есть ли лучший способ управлять этим огромным количеством параметров?

    @GET
    @Path("/processMessage")
    @Produces({MediaType.APPLICATION_XML})
    public Response processMessage(
          @QueryParam("a") String a,
          @QueryParam("b") String b,
          @QueryParam("c") String c,
          @QueryParam("d") String d,
          @QueryParam("e") String e,
          @QueryParam("f") String f,
          @QueryParam("g") String g,
          @QueryParam("h") String h,
          @QueryParam("h") String z,
  )
}

`

зачем столько параметров запроса? вы пытались преобразовать длинный список в json, а затем передать его остальному API

Lalit Mehra 10.07.2019 07:17
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
2
1
75
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Получите все параметры, используя UriInfo:

public Response processMessage(@Context UriInfo uriInfo) {
     MultivaluedMap<String, String> queryParams = uriInfo.getQueryParameters(); 

Или как поле:

@Context
UriInfo uriInfo;

An instance of UriInfo can be injected as field or method parameter using the @Context annotation. UriInfo provides access to application and request URI information

Другие вопросы по теме