MuleSoft (parent company of ProgrammableWeb) has released a parser and Visual Studio extension for its Anypoint Platform that aim to give developers the ability to more easily work with APIs using RAML.
RAML, the RESTful API Modeling Language, is based on YAML, which has become an especially popular data representation format for configuration files. Using RAML, developers can document APIs in a human-readable form, define resources and methods, detail response formats and reuse common usage patterns.
With MuleSoft's .NET RAML parser, developers can load and work with RAML documents. In Visual Studio, developers can now use RAML definitions to generate client proxies. In a blog post, MuleSoft software architect Pablo Cibraro explained, "This proxy internally references a ASP.NET Web API HttpClient class to make the underline calls to the Web API. Therefore, a developer can still use the available extensions and methods available in HttpClient. The proxy will also include the model classes inferred from the JSON schemas exposed in the RAML definition."
Additionally, it is possible to generate a full ASP.NET Web API using a RAML API definition. As Cibraro detailed, "The implementation includes controller classes and route registrations that map exactly to the resources exposed in the RAML definition and model classes for their representation. The model classes are generated from the available JSON schemas."
Making it easier to develop APIs
REST APIs have taken over the world and developers increasingly find themselves building APIs and API clients. RAML aims to make it easier to developers to define and document RESTful APIs. When RAML was released as an open specification in October 2013, RAML co-chairman Uri Sarid explained, "In defining RAML, we looked to address some of the practical and pervasive problems across nearly all APIs. It seeks to address the overarching concerns of any API strategy, in as lightweight a way as possible."