diff options
author | Alex Shpak <alex-shpak@users.noreply.github.com> | 2018-09-30 01:31:24 +0200 |
---|---|---|
committer | Alex Shpak <alex-shpak@users.noreply.github.com> | 2018-09-30 01:31:24 +0200 |
commit | 5b7db23aaacbb08a8242b1a77bd39bc19139526c (patch) | |
tree | b36f8ab16b89f1ae475db883f3f91b2a0a6837b8 /exampleSite/content/_index.md | |
parent | 7a6ab6d72496a07e42aa03242891b6d815b26b0d (diff) |
Add exampleSite
Diffstat (limited to 'exampleSite/content/_index.md')
-rw-r--r-- | exampleSite/content/_index.md | 77 |
1 files changed, 77 insertions, 0 deletions
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<GithubRepository> getRepository() { + return githubApi.getRepository("alex-shpak", "rx-jersey").toSingle(); + } + +} + +@Path("/") +public interface GithubApi { + + @GET + @Path("/repos/{user}/{repo}") + Observable<GithubRepository> getRepository(@PathParam("user") String username, @PathParam("repo") String repo); +} + +``` + +## Licence +[MIT](LICENCE.txt)
\ No newline at end of file |