Передача пары имя-значение из карты в качестве параметров запроса в клиенте JAX-RS - PullRequest
0 голосов
/ 24 апреля 2019

Я пытаюсь получить доступ к одной существующей службе REST со стороны моего клиента, используя клиент JAX-RS, как показано ниже -

public interface ServerApi {
      @POST
      @Path("/server/{type}/add")
      void addServer(@PathParam("type") String type);
}

Здесь я хочу передать карту в качестве параметра метода, и клиент JAX-RS преобразует ее в параметры запроса.

Например, если я передам карту ([name=test, vendor=top1]) в качестве параметра (i, e, serverApi.addServer("linux", map);), клиент JAX-RS преобразует ее в /server/linux/add?name=test&vendor=top1

Я попытался написать метод интерфейса клиента, как показано ниже -

public interface ServerApi {
          @POST
          @Path("/server/{type}/add")
          void addServer(@PathParam("type") String type, @PathParam("map") Map<String, String> aMap);
    }

Но это не будет работать, так как клиент назначит всю карту ключу карты и передаст этот параметр запроса, а я этого не ожидаю.

Может ли кто-нибудь помочь мне добиться этого с помощью клиента JAX-RS

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...