Skip to content
Rest.li is a REST+JSON framework for building robust, scalable service architectures using dynamic discovery and simple asynchronous APIs. http://rest.li
Java Groovy R Shell Scala Python
Latest commit 4b802ab @angxu angxu Fix a bug in ZKFSUtil where the trailing '/' is not removed correctly
RB=655371
G=si-core-reviewers
R=ssheng,xzhu,dhoa,cxu,zzhu
A=zzhu,cxu
Failed to load latest commit information.
buildSrc Deprecate Rest.li 1.0 request builders.
build_script Remove unnecessary generator dependency from modules that generates d…
d2-contrib Factored out Netty.
d2-int-test Remove dependency to json
d2-schemas Make d2-schemas up-to-date and add corresponding PropertiesConverters.
d2 Fix a bug in ZKFSUtil where the trailing '/' is not removed correctly
data-avro-1_6 SI-1952: (1) Enable file resolution for SchemaTranslator and (2) prop…
data-avro-generator New finer-grain data template and request builder generator classes a…
data-avro Add support for alternate schema parsers by introducing DataSchemaPar…
data-transform Added required vs optional validation for partial updates.
data Add support for alternate schema parsers by introducing DataSchemaPar…
degrader This change introduces R2 streaming support on client side & server s…
examples bug fix in ConfigRunner of d2 quick-start example
generator-test Update testBadSchemas() test to be more resilient to code change.
generator Add support for alternate schema parsers by introducing DataSchemaPar…
gradle-plugins Better template spec generator interface.
gradle/wrapper Java 8 support for pegasus
li-jersey-uri Remove redundant warning suppressions.
log-test-config Adding log4j-to-log4j2 adapter
multipart-mime Modify a test so that we don't see transient failures in the build sy…
pegasus-common Making rest.li requests read-only.
r2-core Do not increment rate limiter period when bad object is disposed in
r2-filter-compression This change introduces R2 streaming support on client side & server s…
r2-int-test Do not increment rate limiter period when bad object is disposed in
r2-jetty This change introduces R2 streaming support on client side & server s…
r2-netty Do not increment rate limiter period when bad object is disposed in
r2-perf-test This change introduces R2 streaming support on client side & server s…
r2-sample This change introduces R2 streaming support on client side & server s…
r2-testutils Make CapRep work in streaming when activated
r2 This change introduces R2 streaming support on client side & server s…
restli-client-parseq fix response impl
restli-client-testutils Set rest.li 2.0 as the default protocol used by client requests.
restli-client-util-recorder Factor out PatchRequestRecorder and related classes into a new module.
restli-client Extend the range of permitted announced protocol versions.
restli-common-testutils Fix Java 7 warning.
restli-common Better comment for RestLiDataValidator#validatePatch
restli-contrib-spring Imported pegasus source
restli-docgen Add support for alternate schema parsers by introducing DataSchemaPar…
restli-example-api Produce sorted snapshot files
restli-example-client Factored out Netty.
restli-example-server Change PhotoResource in restli-example-server to allow dummy ID and U…
restli-extras Factored out Netty.
restli-guice-bridge Factored out Netty.
restli-int-test-api Validate data returned from create and get
restli-int-test-client Migrate to log4j2 internally in pegasus
restli-int-test-server Validate data returned from create and get
restli-int-test Validate data returned from create and get
restli-internal-testutils Java 8 support for pegasus
restli-netty-standalone Factored out Netty.
restli-server-extras This change introduces R2 streaming support on client side & server s…
restli-server-standalone This change introduces R2 streaming support on client side & server s…
restli-server-testutils This change introduces R2 streaming support on client side & server s…
restli-server Compare ReadOnly and CreateOnly paths properly in RestLiAnnotationReader
restli-spring-bridge Factored out Netty.
restli-tools-scala Introduce doc support for action return types
restli-tools Add support for alternate schema parsers by introducing DataSchemaPar…
test-util Imported pegasus source
tools Imported pegasus source
.gitignore Add new API to Ring: getIterator(int)
.reviewboardrc Add Review Board support.
CHANGELOG Update CHANGELOG and release 5.0.7
LICENSE.TXT RB=97682 Add LICENSE.TXT, using version recommended by Alejandro Pere…
README.md Fix spelling
RESTLI-2-RELEASE-NOTES.md Added Rest.li 2.*.* release notes.
URI.md Add protocol 2 URIs for BatchGetRequestBuilderTest.
build.gradle Gradle changes for Java 8
checkout-tag Fix glitch of checkout-tag script that print message regardless of gi…
defaultEnvironment.gradle Migrate code from EasyMock 2.4 to 3.1.
gradle.properties Update CHANGELOG and release 5.0.7
gradlew Use Gradle 1.12.
gradlew.bat RB=97672 Add gradle-wrapper, to ensure predictable gradle version for…
release-version Fix release-version.
settings.gradle checking in async multipart mime

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

Something went wrong with that request. Please try again.