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
Latest commit 3578bf5 Jul 25, 2016 @ssheng ssheng Update CHANGELOG for commit 2b14b16 rb770372
RB=770372
G=si-core-reviewers
R=xma,axu
A=axu
Failed to load latest commit information.
buildSrc Deprecate Rest.li 1.0 request builders. Nov 20, 2014
build_script Remove unnecessary generator dependency from modules that generates d… May 27, 2015
d2-contrib [pegasus] Remove default values for zkHosts Apr 27, 2016
d2-int-test Bump zookeeper to 3.4.6 and fix a flaky d2 test Apr 20, 2016
d2-schemas Add missing d2 config properties in .pdsc file May 6, 2016
d2 Use parameterized logging to avoid excessive string concatenation Jun 8, 2016
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 Add support for alternate schema parsers by introducing DataSchemaPar… Feb 1, 2016
data-transform Added required vs optional validation for partial updates. Aug 4, 2015
data [pegasus] Removes -XX:MaxPermSize JVM argument now that we are fully … Jul 20, 2016
degrader This change introduces R2 streaming support on client side & server s… Dec 4, 2015
examples Bump dependency for example projects and fix build. Apr 29, 2016
generator-test Fix missing custom information for record field and union member. May 9, 2016
generator Refactor code related to custom type. May 10, 2016
gradle-plugins Fix the wiki link for resource compatibility checking in Pegasus plugin. May 18, 2016
gradle/wrapper Bump dependency for example projects and fix build. Apr 29, 2016
li-jersey-uri Remove redundant warning suppressions. Dec 9, 2014
log-test-config Adding log4j-to-log4j2 adapter Apr 20, 2015
multipart-mime Checking in rest.li streaming Apr 6, 2016
pegasus-common Making rest.li requests read-only. Jan 6, 2015
r2-core [pegasus] Reduces the number of threads in the ScheduledThreadPoolExe… Jul 25, 2016
r2-filter-compression Add support of "x-snappy-framed" encoding in rest compression filter Feb 25, 2016
r2-int-test Do not increment rate limiter period when bad object is disposed in Feb 3, 2016
r2-jetty This change introduces R2 streaming support on client side & server s… Dec 4, 2015
r2-netty Save resolved ip address into request context keyed by REMOTE_SERVER_… Mar 31, 2016
r2-perf-test This change introduces R2 streaming support on client side & server s… Dec 4, 2015
r2-sample This change introduces R2 streaming support on client side & server s… Dec 4, 2015
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 Pull parseq rest client from parseq project. Apr 6, 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 Fixed NPE in RestliRequestOptionsBuilder when no accept type was set. Apr 26, 2016
restli-common-testutils Add custom data comparator and data asserts Jun 13, 2016
restli-common Removed double quotes for cookie attribute values. Jun 30, 2016
restli-contrib-spring Imported pegasus source Sep 18, 2012
restli-docgen Fix doc generation for action methods with custom parameter types. Apr 26, 2016
restli-example-api Produce sorted snapshot files Dec 24, 2014
restli-example-client Factored out Netty. May 13, 2015
restli-example-server Change PhotoResource in restli-example-server to allow dummy ID and U… Jan 14, 2016
restli-extras Factored out Netty. May 13, 2015
restli-guice-bridge Factored out Netty. May 13, 2015
restli-int-test-api Support projections in rest.li schema validation Jun 14, 2016
restli-int-test-client Migrate to log4j2 internally in pegasus Apr 20, 2015
restli-int-test-server Support projections in rest.li schema validation Jun 14, 2016
restli-int-test Support projections in rest.li schema validation Jun 14, 2016
restli-internal-testutils Checking in rest.li streaming Apr 6, 2016
restli-netty-standalone Factored out Netty. May 13, 2015
restli-server-extras Checking in rest.li streaming Apr 6, 2016
restli-server-standalone This change introduces R2 streaming support on client side & server s… Dec 4, 2015
restli-server-testutils This change introduces R2 streaming support on client side & server s… Dec 4, 2015
restli-server Skip decoding simple keys which were passed in the request body for B… Jun 30, 2016
restli-spring-bridge Factored out Netty. May 13, 2015
restli-tools-scala Introduce doc support for action return types Sep 8, 2014
restli-tools Refactor code related to custom type. May 10, 2016
test-util Imported pegasus source Sep 18, 2012
tools Imported pegasus source Sep 18, 2012
.gitignore Add new API to Ring: getIterator(int) Aug 7, 2014
.reviewboardrc Add Review Board support. Sep 18, 2012
CHANGELOG Update CHANGELOG for commit 2b14b16 rb770372 Jul 25, 2016
LICENSE.TXT RB=97682 Add LICENSE.TXT, using version recommended by Alejandro Pere… Nov 30, 2012
README.md Fix spelling Jul 30, 2014
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 Add custom data comparator and data asserts Jun 13, 2016
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 [pegasus] Removes -XX:MaxPermSize JVM argument now that we are fully … Jul 20, 2016
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 checking in async multipart mime Jan 5, 2016

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 buildings REST APIs that 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