Rest.li is a REST+JSON framework for building robust, scalable service architectures using dynamic discovery and simple asynchronous APIs.
Latest commit ad74aa9 Oct 22, 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 Have d2-benchmark compilation task depend on d2's tests compilatoin task Oct 20, 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 [pegasus] Make bannedUris field optional Sep 6, 2018
d2 [pegasus] Choose right algorithm automatically when consistentHashAlg… Oct 19, 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 GCN fix to revert data feeder change(error log update) Oct 19, 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] Keep time unit consistent for SmoothRateLimtter Oct 20, 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 Making SSLResumption configurable Oct 5, 2018
r2-jetty Added Certificate checker for secure http2 May 25, 2018
r2-netty Adding default value to enableSSLSessionResumption Oct 22, 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 Release 25.0.8 and fix warning. Oct 5, 2018
restli-common-testutils Provide a utility to perform semantic equality comparison for two peg… Apr 7, 2017
restli-common Support returning the entities for BATCH_PARTIAL_UPDATE resource methods Oct 2, 2018
restli-contrib-spring Imported pegasus source Sep 18, 2012
restli-disruptor [pegasus] Relax multiple DisruptRestControllerContainer::setInstance … Oct 13, 2017
restli-docgen Making document request handling lazy Sep 26, 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 Support returning the entities for BATCH_PARTIAL_UPDATE resource methods Oct 2, 2018
restli-int-test-client Avoid double encoding typeref names in resource model encoder. Aug 23, 2018
restli-int-test-server Support returning the entities for BATCH_PARTIAL_UPDATE resource methods Oct 2, 2018
restli-int-test Support scatter gather for BatchGetKVRequest and BatchPartialUpdateEn… Oct 5, 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 Batch Finder Sep 27, 2018
restli-server GCN fix to revert data feeder change Oct 17, 2018
restli-spring-bridge Releasing new version Mar 18, 2017
restli-tools-scala Fix unit test broken in 1196197 Jan 18, 2018
restli-tools Support returning the entities for BATCH_PARTIAL_UPDATE resource methods Oct 2, 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 Adding default value to enableSSLSessionResumption Oct 22, 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 Implement blocking and non-blocking smile data codec Aug 30, 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 Adding default value to enableSSLSessionResumption Oct 22, 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