Rest.li is a REST+JSON framework for building robust, scalable service architectures using dynamic discovery and simple asynchronous APIs.
Java Groovy R Shell Scala Python
Permalink
Failed to load latest commit information.
buildSrc Isolation of gradle's classpath from pegasus plugin's classpath. Sep 16, 2016
build_script Add Pegasus data schema language (.pdl). Feb 1, 2017
d2-benchmark Add new consistent hash ring implementation which is more balanced an… Jul 29, 2016
d2-contrib [pegasus] Remove default values for zkHosts Apr 28, 2016
d2-int-test Bump zookeeper to 3.4.6 and fix a flaky d2 test Apr 20, 2016
d2-schemas Count server error when calculating error rate Oct 20, 2016
d2 [pegasus] Fix LoadBalancerStrategyPropertiesConverter to serialize qu… Mar 1, 2017
data-avro-1_6 SI-1952: (1) Enable file resolution for SchemaTranslator and (2) prop… Jun 22, 2015
data-avro-generator New finer-grain data template and request builder generator classes a… May 11, 2015
data-avro To enable reserialization of .pdsc and .pdl files back to why they we… Feb 18, 2017
data-transform Added required vs optional validation for partial updates. Aug 4, 2015
data Support null resolverPaths in DataSchemaParser to fix regression. Mar 3, 2017
degrader Count server error when calculating error rate Oct 20, 2016
examples Bump dependency for example projects and fix build. Apr 29, 2016
generator-test To enable reserialization of .pdsc and .pdl files back to why they we… Feb 18, 2017
generator Support null resolverPaths in DataSchemaParser to fix regression. Mar 3, 2017
gradle-plugins Add Pegasus data schema language (.pdl). Feb 1, 2017
gradle/wrapper Bump dependency for example projects and fix build. Apr 29, 2016
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 Fixed a namespace issue broken the compilation Mar 6, 2017
pegasus-common Fixed SI-3070 and related issues Sep 26, 2016
r2-core Disabled failing R2 tests temporarily Mar 1, 2017
r2-disruptor [pegasus] Implement disruptor interfaces and core classes Jan 31, 2017
r2-filter-compression Modifying client compression filter to allow compression header on nu… Feb 16, 2017
r2-int-test [pegasus] Implement disruptor interfaces and core classes Jan 31, 2017
r2-jetty [pegasus] Netty HTTP/2 client implementation Aug 1, 2016
r2-netty Disabled failing R2 tests temporarily Mar 1, 2017
r2-perf-test [pegasus] Increase max heap size to 4g for tests Aug 6, 2016
r2-sample [pegasus] Add HTTP protocol version to request context Aug 24, 2016
r2-testutils Make CapRep work in streaming when activated Dec 10, 2015
r2 This change introduces R2 streaming support on client side & server s… Dec 4, 2015
restli-client-parseq Upgraded parseq version to 2.6.4. Dec 9, 2016
restli-client-testutils Removed double quotes for cookie attribute values. Jun 30, 2016
restli-client-util-recorder Factor out PatchRequestRecorder and related classes into a new module. May 18, 2015
restli-client [pegasus] Implement disruptor interfaces and core classes Jan 31, 2017
restli-common-testutils Add custom data comparator and data asserts Jun 13, 2016
restli-common Support surrogate pairs for UTF-16 strings in URI encoding/decoding a… Feb 11, 2017
restli-contrib-spring Imported pegasus source Sep 18, 2012
restli-disruptor [pegasus] Implement disruptor interfaces and core classes Jan 31, 2017
restli-docgen PDSC package override support with tests added for generator, idlgen,… Nov 8, 2016
restli-example-api Add attribute pagingSupported in method schema and indicate in restsp… Jan 25, 2017
restli-example-client Factored out Netty. May 13, 2015
restli-example-server Redesigned filter chain to use merged request/response filters, repla… Aug 16, 2016
restli-extras Factored out Netty. May 13, 2015
restli-guice-bridge Factored out Netty. May 13, 2015
restli-int-test-api Add attribute pagingSupported in method schema and indicate in restsp… Jan 25, 2017
restli-int-test-client Migrate to log4j2 internally in pegasus Apr 20, 2015
restli-int-test-server Add attribute pagingSupported in method schema and indicate in restsp… Jan 25, 2017
restli-int-test Add Pegasus data schema language (.pdl). Feb 1, 2017
restli-internal-testutils Checking in rest.li streaming Apr 6, 2016
restli-netty-standalone Factored out Netty. May 13, 2015
restli-server-extras Fixed test failures in TestMultiplexerRunMode and TestParseqTraceDebu… Dec 22, 2016
restli-server-standalone This change introduces R2 streaming support on client side & server s… Dec 4, 2015
restli-server-testutils Upgraded parseq version to 2.6.4. Dec 9, 2016
restli-server To enable reserialization of .pdsc and .pdl files back to why they we… Feb 18, 2017
restli-spring-bridge Factored out Netty. May 13, 2015
restli-tools-scala Introduce doc support for action return types Sep 8, 2014
restli-tools Add Pegasus data schema language (.pdl). Feb 1, 2017
test-util Imported pegasus source Sep 18, 2012
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 Support null resolverPaths in DataSchemaParser to fix regression. Mar 3, 2017
LICENSE.TXT RB=97682 Add LICENSE.TXT, using version recommended by Alejandro Pere… Nov 30, 2012
README.md fixed grammar error (#70) Feb 11, 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 Bump up zero-allocation-hashing library to the latest Feb 23, 2017
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 Publish version to 10.1.7 Mar 3, 2017
gradlew Use Gradle 1.12. Jun 19, 2014
gradlew.bat RB=97672 Add gradle-wrapper, to ensure predictable gradle version for… Nov 30, 2012
release-version Fix release-version. Aug 26, 2015
settings.gradle [pegasus] Implement disruptor interfaces and core classes Jan 31, 2017

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 principals 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