All Projects → apptik → Jus

apptik / Jus

Licence: apache-2.0
Flexible and Easy HTTP/REST Communication library for Java and Android

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Jus

Siesta
The civilized way to write REST API clients for iOS / macOS
Stars: ✭ 2,142 (+3794.55%)
Mutual labels:  rest, networking
Crossbar
Crossbar.io - WAMP application router
Stars: ✭ 1,957 (+3458.18%)
Mutual labels:  rest, networking
Swifthub
GitHub iOS client in RxSwift and MVVM-C clean architecture
Stars: ✭ 2,330 (+4136.36%)
Mutual labels:  rest, networking
Ws
⚠️ Deprecated - (in favour of Networking) ☁️ Elegantly connect to a JSON api. (Alamofire + Promises + JSON Parsing)
Stars: ✭ 352 (+540%)
Mutual labels:  rest, networking
Fuel
The easiest HTTP networking library for Kotlin/Android
Stars: ✭ 4,057 (+7276.36%)
Mutual labels:  rest, networking
Pmhttp
Swift/Obj-C HTTP framework with a focus on REST and JSON
Stars: ✭ 509 (+825.45%)
Mutual labels:  rest, networking
Networking
⚡️ Elegantly connect to a REST JSON Api. URLSession + Combine + Decodable + Generics = <3
Stars: ✭ 499 (+807.27%)
Mutual labels:  rest, networking
Bridge Deprecated
[DEPRECATED]: Prefer Retrofit/OkHttp by Square, or Fuel for Kotlin
Stars: ✭ 624 (+1034.55%)
Mutual labels:  rest, networking
React Native Netinfo
React Native Network Info API for Android & iOS
Stars: ✭ 1,049 (+1807.27%)
Mutual labels:  networking
Python Voice Chat
Instant multi-person voice chat over the internet in Python 3
Stars: ✭ 51 (-7.27%)
Mutual labels:  networking
Pnet
High level Java network library
Stars: ✭ 49 (-10.91%)
Mutual labels:  networking
Typescript Node Rest Starter
Simple starter template for building NODE REST API's using TypeScript
Stars: ✭ 50 (-9.09%)
Mutual labels:  rest
Overseer
A golang-based remote protocol tester for testing sites & service availability
Stars: ✭ 51 (-7.27%)
Mutual labels:  networking
Generator Http Fake Backend
Yeoman generator for building a fake backend by providing the content of JSON files or JavaScript objects through configurable routes.
Stars: ✭ 49 (-10.91%)
Mutual labels:  rest
Unifi exporter
Multiarch images for scraping Prometheus metrics from a Unifi Controller. Kubernetes / prometheus-operator compatible.
Stars: ✭ 54 (-1.82%)
Mutual labels:  networking
Vibe.d
Official vibe.d development
Stars: ✭ 1,043 (+1796.36%)
Mutual labels:  networking
Serpents
Multi-Player Game on top of HDP protocol
Stars: ✭ 48 (-12.73%)
Mutual labels:  rest
Microservices Springboot
Example of microservices application with Spring Boot, Zuul, Eureka, MongoDB and RabbitMQ.
Stars: ✭ 53 (-3.64%)
Mutual labels:  rest
Odp Dpdk
OpenDataPlane DPDK platform implementation
Stars: ✭ 52 (-5.45%)
Mutual labels:  networking
Batchman
This library for Android will take any set of events and batch them up before sending it to the server. It also supports persisting the events on disk so that no event gets lost because of an app crash. Typically used for developing any in-house analytics sdk where you have to make a single api call to push events to the server but you want to optimize the calls so that the api call happens only once per x events, or say once per x minutes. It also supports exponential backoff in case of network failures
Stars: ✭ 50 (-9.09%)
Mutual labels:  networking

jus

JavaDocs

Build Status Join the chat at https://gitter.im/apptik/jus StackExchange Stories in Ready

Jus is a flexible and easy HTTP/REST client library for Java and Android.

  • it is like Volley but much easier
  • it is like Retrofit but infinitely more flexible

Jus is inspired by the flexibility, modularity and transparency of Google's Volley Library and the extreme simplicity of declarative API mapping of Retrofit.

Like Volley the main thing where Requests are executed is the RequestQueue.

RequestQueue queue = Jus.newRequestQueue();

and then Requests can be added to the Queue:

queue.add(new Request<String>(
                        Request.Method.GET,
                        HttpUrl.parse(BeerService.fullUrl),
                        new Converters.StringResponseConverter())
                        .addResponseListener((r) -> out.println("RESPONSE: " + r))
                        .addErrorListener((e) -> out.println("ERROR: " + e))
        );

Anther option similarly to Retrofit is to map Java Interface to an API.

public interface BeerService {
    @GET("locquery/{user}/{q}")
    Request<String> getBeer(
            @Path("user") String user,
            @Path("q") String q);
}

Then create the Service Instance:

RetroProxy retroJus = new RetroProxy.Builder()
            .baseUrl(BeerService.baseUrl)
            .requestQueue(queue)
            .addConverterFactory(new BasicConverterFactory())
            .build();

    BeerService beerService = retroJus.create(BeerService.class);

And execute a request:

beerService.getBeer(BeerService.userString, "777")
                .addResponseListener((r) -> out.println("RESPONSE: " + r))
                .addErrorListener((e) -> out.println("ERROR: " + e.networkResponse));

Download

Find the latest JARs or grab via Maven:

<dependency>
  <groupId>io.apptik.comm</groupId>
  <artifactId>jus-XXX</artifactId>
  <version>0.6.9</version>
</dependency>

or Gradle:

compile 'io.apptik.comm:jus-XXX:0.6.9'

Downloads of the released versions are available in Sonatype's releases repository.

Snapshots of the development versions are available in Sonatype's snapshots repository.

Jus requires at minimum Java 7 or Android SDK 15.

Examples

Questions

StackOverflow with tag 'jus' or 'apptik'

Modules

  • jus for Java - main jus library for java Maven Central VersionEye

  • Reactive jus - RxJava support for jus Maven Central VersionEye

  • HTTP Stacks

    • OkHttp = OkHttp Client Stack for jus Maven Central VersionEye
    • OkHttp3 = OkHttp3 Client Stack for jus Maven Central VersionEye
    • ApacheHttp = ApacheHttp Client Stack for jus Maven Central VersionEye
    • Netty = Netty Client Stack for jus Maven Central VersionEye
  • Jus for Android

  • Data serializers support and custom requests for jus

Licence

Copyright (C) 2016 AppTik Project

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].