Dear experts,
thanks for your feedback!
Last suggestion by Santiago (doing lookup by the RxInvoker subclass) is
implementable and I believe it is the best one we do have.
Code example (extensibility support):
Client rxClient =client.register(CompletionStageRxInvokerProvider.class, RxInvokerProvider.class);
CompletionStage<List<String>> cs =
rxClient.target("remote/forecast/{destination}")
.resolveTemplate("destination","mars")
.request()
.header("Rx-User","Java8")
.rx(CompletionStageRxInvoker.class)
.get(new GenericType<List<String>>() {
});
cs.thenAccept(System.out::println);
Corresponding pull request:
https://github.com/jax-rs/api/pull/3
Please review the pull request and provide your comments and suggestions.
Thanks and have a nice weekend,
Pavel
On 19/01/2017 16:54, Santiago Pericasgeertsen wrote:
> Hi Pavel,
>
> Just catching up with this issue. I guess the two levels of
> indirection has led us into a generic wall :)
>
>
>> Client rxClient =
>> client.register(CompletionStageRxInvokerProvider.class);
>> CompletionStage<UserPojo> cs =
>> rxClient.target("http://foo.bar")
>> .request()
>> .rx(CompletionStage.class)
>> .get(UserPojo.class);
> So what if we reduce indirection and write:
>
> .rx(CompletionStageRxInvoker.class)
>
> as before, still keeping the provider for it? Less ideal of course.
>
> — Santiago
>