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 Revert "This is a follow up on https://rb.corp.linkedin.com/r/677995/" Aug 6, 2016
build_script Remove unnecessary generator dependency from modules that generates d… May 27, 2015
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 [pegasus] Add http.protocolVersion to d2 property keys and expose htt… Aug 10, 2016
d2 [pegasus] Add http.protocolVersion to AllowedClientPropertyKeys Aug 26, 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] Increase max heap size to 4g for tests Aug 6, 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 10, 2016
generator Refactor code related to custom type. May 10, 2016
gradle-plugins Revert "This is a follow up on https://rb.corp.linkedin.com/r/677995/" Aug 6, 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 21, 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] Add HTTP protocol version to request context Aug 24, 2016
r2-filter-compression * Fix SnappyFramedCompressor to follow the standard x-snappy-framed Aug 15, 2016
r2-int-test [pegasus] Add HTTP protocol version to request context Aug 24, 2016
r2-jetty [pegasus] Netty HTTP/2 client implementation Aug 1, 2016
r2-netty [pegasus] Add HTTP protocol version to request context Aug 24, 2016
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 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 Changed response envelopes to have a separate response envelope for e… Aug 16, 2016
restli-example-api Produce sorted snapshot files Dec 24, 2014
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 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 Redesigned filter chain to use merged request/response filters, repla… Aug 16, 2016
restli-int-test Changed response envelopes to have a separate response envelope for e… Aug 16, 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 Added response data builder to help users of Rest.li write tests by i… Aug 17, 2016
restli-server Refactored naming of filter response context factory and refactored R… Aug 19, 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 Revert "This is a follow up on https://rb.corp.linkedin.com/r/677995/" Aug 6, 2016
test-util Imported pegasus source Sep 18, 2012
tools Imported pegasus source Sep 18, 2012
.gitignore Revert "This is a follow up on https://rb.corp.linkedin.com/r/677995/" Aug 6, 2016
.reviewboardrc Add Review Board support. Sep 18, 2012
CHANGELOG [pegasus] Add http.protocolVersion to AllowedClientPropertyKeys Aug 26, 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 * Fix SnappyFramedCompressor to follow the standard x-snappy-framed Aug 15, 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] Release version 7.0.2 Aug 26, 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 Add new consistent hash ring implementation which is more balanced an… Jul 29, 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