Я пытаюсь получить доступ к одной существующей службе 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