Я разрабатываю 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,
)
}
`
Получите все параметры, используя 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
зачем столько параметров запроса? вы пытались преобразовать длинный список в json, а затем передать его остальному API