Skip to content


Subversion checkout URL

You can clone with
Download ZIP

Scala Integration

gmcmillan100 edited this page · 7 revisions


SBT Plugin is fully integrated with the SBT build system through an SBT plugin. See SBT Plugin.

Writing Resources in Scala resource classes may be written in Scala, for example:

 * A sample scala resource.
@RestLiCollection(name="sampleScala", namespace = "com.example.restli")
class SampleScalaResource extends CollectionResourceTemplate[java.lang.Long, Sample] with PlayRequest {

   * A sample scala get.
  override def get(key: java.lang.Long): Sample = {
    val message = "hello world"

    new Sample()
      .setMessage(s"You got this from a Scala Resource: ${message}!")


Scaladoc is supported using a plugin. This is currently ONLY available for scala 2.10. To enable the plugin in Gradle, modify your build.gradle files, adding a dependency on restli-tools-scala and depending on it the module that contains your resource Scala classes.

project.ext.externalDependency = [
  // ...
  'scalaLibrary_2_10': 'org.scala-lang:scala-library:2.10.3',
  "restliToolsScala_2_10" : "com.linkedin.pegasus:restli-tools-scala_2.10:"+pegasusVersion
apply plugin: 'pegasus'
apply plugin: 'scala'

ext.apiProject = ...
dependencies {
  // ...
  compile externalDependency.scalaLibrary_2_10
  compile externalDependency.restliToolsScala_2_10
Something went wrong with that request. Please try again.