From 5b7db23aaacbb08a8242b1a77bd39bc19139526c Mon Sep 17 00:00:00 2001 From: Alex Shpak Date: Sun, 30 Sep 2018 01:31:24 +0200 Subject: Add exampleSite --- exampleSite/content/_index.md | 77 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 exampleSite/content/_index.md (limited to 'exampleSite/content/_index.md') diff --git a/exampleSite/content/_index.md b/exampleSite/content/_index.md new file mode 100644 index 0000000..0c7a403 --- /dev/null +++ b/exampleSite/content/_index.md @@ -0,0 +1,77 @@ +--- +title: Introduction +type: docs +--- + +# RxJersey - Reactive Jersey Feature + +[![Build Status](https://travis-ci.org/alex-shpak/rx-jersey.svg?branch=master)](https://travis-ci.org/alex-shpak/rx-jersey) +![Maven Central](https://img.shields.io/maven-central/v/net.winterly.rxjersey/core-server.svg) + +RxJersey is RxJava extension for [Jersey](https://jersey.java.net/) framework providing non-blocking Jax-RS server and client. +RxJersey target is to handle large amount requests in small static set of threads, which is highly suitable for microservice applications. + +Library uses Jersey 2 async support with `@Suspended` and `AsyncResponse` under the hood. + +## Features +- [x] RxJava Support +- [x] RxJava 2 Support +- [x] RxJava Proxy Client +- [x] Async Request Interceptors +- [x] Dropwizard bundle + +## Roadmap +- [ ] Futures support +- [ ] Vert.x integration +- [ ] Improved proxy client + + +## Maven Artifacts +### Maven Central +``` +compile "net.winterly.rxjersey:dropwizard:$rxJerseyVersion" +compile "net.winterly.rxjersey:rxjava-client:$rxJerseyVersion" +compile "net.winterly.rxjersey:rxjava-server:$rxJerseyVersion" +compile "net.winterly.rxjersey:rxjava2-client:$rxJerseyVersion" +compile "net.winterly.rxjersey:rxjava2-server:$rxJerseyVersion" +``` + +### JitPack +Most recent snapshot is available via [JitPack](https://jitpack.io/#alex-shpak/rx-jersey/) +``` +compile "com.github.alex-shpak.rx-jersey:dropwizard:$rxJerseyVersion" +compile "com.github.alex-shpak.rx-jersey:rxjava-client:$rxJerseyVersion" +compile "com.github.alex-shpak.rx-jersey:rxjava-server:$rxJerseyVersion" +compile "com.github.alex-shpak.rx-jersey:rxjava2-client:$rxJerseyVersion" +compile "com.github.alex-shpak.rx-jersey:rxjava2-server:$rxJerseyVersion" +``` + + +## Example +```java +@Path("/example/") +public class GithubResource { + + @Remote("https://api.github.com/") + private GithubApi githubApi; + + @GET + @Path("github") + public Single getRepository() { + return githubApi.getRepository("alex-shpak", "rx-jersey").toSingle(); + } + +} + +@Path("/") +public interface GithubApi { + + @GET + @Path("/repos/{user}/{repo}") + Observable getRepository(@PathParam("user") String username, @PathParam("repo") String repo); +} + +``` + +## Licence +[MIT](LICENCE.txt) \ No newline at end of file -- cgit v1.2.3