Rest.li is a REST+JSON framework for building robust, scalable service architectures using dynamic discovery and simple asynchronous APIs.
alexjinghn Allow custom users to set overridden partition ids to URIMapper
RB=1398083
G=si-core-reviewers
R=xzhu,mnchen
A=xzhu,mnchen
Latest commit d7cae31 Aug 8, 2018
Permalink
Failed to load latest commit information.
buildSrc Isolation of gradle's classpath from pegasus plugin's classpath. Sep 16, 2016
build_script Improve cache ability of data template and request builder generating… Jul 19, 2018
d2-benchmark Support scatter-gather in rest.li client using ScatterGatherStrategy. Aug 3, 2018
d2-contrib Release 15.1.6 Oct 11, 2017
d2-int-test Bump zookeeper to 3.4.6 and fix a flaky d2 test Apr 20, 2016
d2-schemas Support BannedUris property for cluster Jul 17, 2018
d2 Allow custom users to set overridden partition ids to URIMapper Aug 28, 2018
data-avro-1_6 SI-1952: (1) Enable file resolution for SchemaTranslator and (2) prop… Jun 22, 2015
data-avro-generator PDSC to AVSC translator supports namespace override based on cmd option Feb 23, 2018
data-avro SI-8116 Signifcantly reduce the dependency on Guava. Only data-avro a… Aug 20, 2018
data-testutils Added reactive JSON encoder. Apr 21, 2018
data-transform Added support for reordering an array item in a pegasus data. Aug 22, 2018
data SI-8116 Signifcantly reduce the dependency on Guava. Only data-avro a… Aug 20, 2018
degrader Update default values to match configs May 2, 2018
entity-stream Remove Flow API for blob get Apr 24, 2018
examples Set the pegasus version in example/quistart module to latest version in Feb 23, 2018
generator-test Fix for reference to internal record. Aug 15, 2018
generator Register coercers for custom typed typerefs in the generated TyperefI… Aug 21, 2018
gradle-plugins Improve cache ability of data template and request builder generating… Jul 19, 2018
gradle/wrapper Updated gradle wrapper to version 4.6. Aug 20, 2018
li-jersey-uri Support surrogate pairs for UTF-16 strings in URI encoding/decoding a… Feb 11, 2017
log-test-config Adding log4j-to-log4j2 adapter Apr 21, 2015
multipart-mime SI-8116 Signifcantly reduce the dependency on Guava. Only data-avro a… Aug 20, 2018
pegasus-common [pegasus] Remove LongTracking and add minimum sampling period to Asyn… Mar 31, 2018
r2-core [pegasus] Fix a race condition in AsyncSharedPoolImpl with createImme… Aug 9, 2018
r2-disruptor [pegasus] Extract interface from RestClient and add a DisruptRestClie… Mar 25, 2017
r2-filter-compression Moved R2 streaming library to a separate module and made it generic. Mar 2, 2018
r2-int-test Added Certificate checker for secure http2 May 25, 2018
r2-jetty Added Certificate checker for secure http2 May 25, 2018
r2-netty [pegasus] Log channel inception time when exception is thrown during … Aug 23, 2018
r2-perf-test Moved R2 streaming library to a separate module and made it generic. Mar 2, 2018
r2-sample Added Certificate checker for secure http2 May 25, 2018
r2-testutils Moving HttpServerBuilder to a module accessible also from other tests Mar 21, 2018
r2 This change introduces R2 streaming support on client side & server s… Dec 4, 2015
restli-client-parseq Bump up parseq version because current version is EOLed. May 4, 2018
restli-client-testutils [pegasus] Extract interface from RestClient and add a DisruptRestClie… Mar 25, 2017
restli-client-util-recorder Factor out PatchRequestRecorder and related classes into a new module. May 18, 2015
restli-client Allow custom users to set overridden partition ids to URIMapper Aug 28, 2018
restli-common-testutils Provide a utility to perform semantic equality comparison for two peg… Apr 7, 2017
restli-common Add "$returnEntity" query parameter to support returning the entity o… Aug 21, 2018
restli-contrib-spring Imported pegasus source Sep 18, 2012
restli-disruptor [pegasus] Relax multiple DisruptRestControllerContainer::setInstance … Oct 13, 2017
restli-docgen Rest.li server integration with stream JSON codec. Jun 5, 2018
restli-example-api Add attribute pagingSupported in method schema and indicate in restsp… Jan 25, 2017
restli-example-client [pegasus] Emits R2 channel pool events Apr 24, 2018
restli-example-server Releasing new version Mar 18, 2017
restli-extras Revert "Enhance keyMapV3 to honor affinity routing configuration in d… Feb 22, 2018
restli-guice-bridge Releasing new version Mar 18, 2017
restli-int-test-api Avoid double encoding typeref names in resource model encoder. Aug 23, 2018
restli-int-test-client Avoid double encoding typeref names in resource model encoder. Aug 23, 2018
restli-int-test-server Avoid double encoding typeref names in resource model encoder. Aug 23, 2018
restli-int-test Fix bug introduced in 22.0.0 during the server refactor which results in Aug 25, 2018
restli-internal-testutils Checking in rest.li streaming Apr 6, 2016
restli-netty-standalone SI-4041 Add SSL support for netty server, deprecate HttpNettyServerFa… Jan 12, 2018
restli-server-extras Route resource request before adapting StreamRequest to RestRequest. Feb 6, 2018
restli-server-standalone Releasing new version Mar 18, 2017
restli-server-testutils [pegasus] Add application Principals to cluster for server authentica… May 30, 2018
restli-server Fix bug introduced in 22.0.0 during the server refactor which results in Aug 25, 2018
restli-spring-bridge Releasing new version Mar 18, 2017
restli-tools-scala Fix unit test broken in 1196197 Jan 18, 2018
restli-tools Add "$returnEntity" query parameter to support returning the entity o… Aug 21, 2018
test-util Adding the ability to set the request timeout on a per-request basis Jan 12, 2018
tools Imported pegasus source Sep 18, 2012
.gitignore Added rule to ignore .DS_Store Nov 16, 2016
.reviewboardrc Add Review Board support. Sep 18, 2012
CHANGELOG Allow custom users to set overridden partition ids to URIMapper Aug 28, 2018
ERROR-CODES.md Add URIMapper class Jun 22, 2018
LICENSE.TXT RB=97682 Add LICENSE.TXT, using version recommended by Alejandro Pere… Nov 30, 2012
README.md Fixing typos Jun 23, 2017
RESTLI-2-RELEASE-NOTES.md Added Rest.li 2.*.* release notes. Dec 17, 2014
URI.md Add protocol 2 URIs for BatchGetRequestBuilderTest. Oct 20, 2014
build.gradle SI-8116 Signifcantly reduce the dependency on Guava. Only data-avro a… Aug 20, 2018
checkout-tag Fix glitch of checkout-tag script that print message regardless of gi… Sep 18, 2012
defaultEnvironment.gradle Migrate code from EasyMock 2.4 to 3.1. Nov 30, 2012
gradle.properties Allow custom users to set overridden partition ids to URIMapper Aug 28, 2018
gradlew Gradle 4.* upgrade for open source pegasus Aug 2, 2017
gradlew.bat Bump open source to Gradle 3.5. Make most tasks cacheable. Jul 19, 2017
release-version Fix release-version. Aug 26, 2015
settings.gradle Remove Flow API for blob get Apr 24, 2018

README.md

Rest.li is an open source REST framework for building robust, scalable RESTful architectures using type-safe bindings and asynchronous, non-blocking IO. Rest.li fills a niche for applying RESTful principles at scale with an end-to-end developer workflow for building REST APIs, which promotes clean REST practices, uniform interface design and consistent data modeling.

Source | Documentation | Discussion Group

Features

  • End-to-end framework for building RESTful APIs
  • Approachable APIs for writing non-blocking client and server code using ParSeq
  • Type-safe development using generated data and client bindings
  • JAX-RS inspired annotation driven server side resource development
  • Engineered and battle tested for high scalability and high availability
  • Optional Dynamic Discovery subsystem adds client side load balancing and fault tolerance
  • Backward compatibility checking to ensure all API changes are safe
  • Support for batch operations, partial updates and projections
  • Web UI for browsing and searching a catalog of rest.li APIs.

Website

http://rest.li

Documentation

See our wiki for full documentation and examples.

Community

Quickstart Guides and Examples