diff options
author | Alex Shpak <alex-shpak@users.noreply.github.com> | 2018-10-30 15:56:42 +0100 |
---|---|---|
committer | Alex Shpak <alex-shpak@users.noreply.github.com> | 2018-10-30 15:56:42 +0100 |
commit | 5535f8740060e3f237cc12124dd892565d6d2814 (patch) | |
tree | a48fd3ba604d3757f002f914dd4520618dedbdbd /exampleSite/content/docs/rx-jersey-client.md | |
parent | b571e84efd027d047166125c38ee935c6171e305 (diff) |
Fill example site with Lorem Ipsum
Diffstat (limited to 'exampleSite/content/docs/rx-jersey-client.md')
-rw-r--r-- | exampleSite/content/docs/rx-jersey-client.md | 60 |
1 files changed, 0 insertions, 60 deletions
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<GithubRepository> 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 |