From 5535f8740060e3f237cc12124dd892565d6d2814 Mon Sep 17 00:00:00 2001 From: Alex Shpak Date: Tue, 30 Oct 2018 15:56:42 +0100 Subject: Fill example site with Lorem Ipsum --- exampleSite/content/docs/rx-jersey-client.md | 60 ---------------------------- 1 file changed, 60 deletions(-) delete mode 100644 exampleSite/content/docs/rx-jersey-client.md (limited to 'exampleSite/content/docs/rx-jersey-client.md') diff --git a/exampleSite/content/docs/rx-jersey-client.md b/exampleSite/content/docs/rx-jersey-client.md deleted file mode 100644 index b0e2793..0000000 --- a/exampleSite/content/docs/rx-jersey-client.md +++ /dev/null @@ -1,60 +0,0 @@ -## RxJersey Proxy Client - -Proxy client provides convenient way to call resources without constructing request. Also it allows to reuse resource interfaces between microservices. - -In order to enable RxJava in proxy client register Jersey feature -```java -RxJerseyClientFeature rxJerseyClientFeature = new RxJerseyClientFeature() - .register(client); //should be non-blocking client implementation -resourceConfig.register(rxJerseyClientFeature); -``` -Default client with Grizzly connector will be used if not provided - - -## Remote resource injection -You can inject proxy client with `@Remote` annotation, in addition you can inject `WebTarget` or `RxWebTarget` -```java -@Path("/example/") -public class GithubResource { - - @Remote("https://api.github.com/") - private GithubApi githubApi; - - @Remote("https://api.github.com/") - private WebTarget webTarget; - - @GET - @Path("github") - public Single getRepository() { - return githubApi.getRepository("alex-shpak", "rx-jersey").toSingle(); - } -} -``` - -## Manual proxy client creation -You can use `WebResourceFactory` from `net.winterly.rxjersey.client` package in order to create proxy client - -#### RxJava -```java -WebResourceFactory.newResource( - ResourceInterface.class, - rxWebTarget, - new ObservableClientMethodInvoker() -); -``` -#### RxJava 2 -```java -WebResourceFactory.newResource( - ResourceInterface.class, - webTarget, - new FlowableClientMethodInvoker() -); -``` - -## Url resolving -Below is example of URL merging based on `@Remote` annotation value - -| Annotation Value | Jersey Context Path | Result URL | -| ----------------------------- | --------------------------- | ---------------------------- | -| @Remote("http://example.com") | http://baseurl.com/resource | http://example.com/ | -| @Remote("/resource/") | http://baseurl.com/some | http://baseurl.com/resource/ | \ No newline at end of file -- cgit v1.2.3