Skip to content
Jonathan Robie edited this page Apr 2, 2015 · 3 revisions

REST Architect, Enterprise Content Division, EMC Corporation.

Proposed Talks

RADL (RESTful API Description Language)
Level (Extended Talk)
Abstract

RESTful API Description Language* (RADL) is an XML vocabulary for describing Hypermedia-driven RESTful APIs.

Unlike most HTTP API description languages, RADL describes both the hypermedia client API and the resource model, which describes the implementation and should not be exposed to the client. In a REST API, the server provides options to a client in the form of hyperlinks in documents, and the main thing a client needs to know is how to locate and use these links in order to use the API. In RADL, the client API is defined in terms of client states, link relations, media types, URI parameters, and any custom headers or status codes that need to be documented. The resource model is defined in terms of resources, their locations, the HTTP methods that can be applied to them, and the conventions for using those methods. The resource model corresponds roughly to the information found in Swagger or RAML. In documentation generated by RADL, the interfaces associated with each client state are assembled from the client API description and the resource model.

RADL can be used to:

  • Design a RESTful API
  • Validate an API description for consistency
  • Generate documentation from an API description
  • Generate resource stubs for a REST server from an API description for design-first environments
  • Generate the resource model for a RESTful API from Java code for code-first environments
  • The APIs that RADL describes may use any media type, in XML, JSON, HTML, or any other format.

Supplemental
Slides
Clone this wiki locally