-
Bug
-
Resolution: Done
-
Major
-
3.6.2.Final, 4.0.0.Beta7
-
None
-
None
When using a simple interface like this one:
@Path("/") public interface RxTestInterface { @GET @Path("some/{id}") Single<String> signle(@PathParam("id") String id); @GET @Path("some/{id}") CompletionStage<String> cs(@PathParam("id") String id); }
RxTestInterface proxy = client.target("http://127.0.0.1:8080/jaxrs-wf").proxy(RxTestInterface.class);
RxTestInterface mpRestClient = MicroprofileClientBuilderResolver.instance() .newBuilder() .baseUrl(new URL("http://127.0.0.1:8080/jaxrs-wf")) .build(RxTestInterface.class);
CompletionStage<String> cs = proxy.cs("test"); System.out.println(cs.toCompletableFuture().get());
Single<String> single = proxy.signle("test"); single.subscribe((String s) -> { System.out.println(s); });
An error appears upon request invocation:
java.lang.IllegalArgumentException: RESTEASY003720: path param id has not been provided by the parameter map at org.jboss.resteasy.specimpl.ResteasyUriBuilder.replaceParameter(ResteasyUriBuilder.java:678) at org.jboss.resteasy.specimpl.ResteasyUriBuilder.buildString(ResteasyUriBuilder.java:600) at org.jboss.resteasy.specimpl.ResteasyUriBuilder.buildFromValues(ResteasyUriBuilder.java:799) at org.jboss.resteasy.specimpl.ResteasyUriBuilder.build(ResteasyUriBuilder.java:791) at org.jboss.resteasy.client.jaxrs.internal.ClientWebTarget.request(ClientWebTarget.java:356) at org.jboss.resteasy.client.jaxrs.internal.proxy.ClientInvoker.invokeAsync(ClientInvoker.java:117) at org.jboss.resteasy.client.jaxrs.internal.proxy.ClientInvoker.invoke(ClientInvoker.java:112) at org.jboss.resteasy.client.jaxrs.internal.proxy.ClientProxy.invoke(ClientProxy.java:76) at com.sun.proxy.$Proxy15.signle(Unknown Source) at com.resteasy.test.App.main(App.java:24)
Previous client example can be tested with this deployment:
@Path("/") public class Resource { @GET @Path("some/{param}") public String get(@PathParam("param") String id) { return "resteasy + " + id; } }