Add exampleSite
This commit is contained in:
@@ -0,0 +1,77 @@
|
||||
---
|
||||
title: Introduction
|
||||
type: docs
|
||||
---
|
||||
|
||||
# RxJersey - Reactive Jersey Feature
|
||||
|
||||
[](https://travis-ci.org/alex-shpak/rx-jersey)
|
||||

|
||||
|
||||
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)
|
||||
Reference in New Issue
Block a user