My short wish list for RAML


#1

Hi,

Hi guys, I am very new to RAML and looking on it mostly from the tool developer view.
When I am reading the spec it looks very promising comparing to RSDL or WADL, but as REST based tools developer I feel that I miss following features in the language.

  1. Meta information

    Some times we need to provide some extra meta information about our REST methods, which may be used
    by specialized tools to improve their understanding of REST API. For example one of my clients have a bunch of
    REST API, some of them are highly specialized for using with Ext JS data binding framework and have specialized
    inner language for query parameters, so our (internal) tooling needs to have additional information about this methods.
    According to me it is possible to partially emulate this using traits, but this looks like not very natural way to do
    this job.

  2. Richer way to specify constraints

    Another story from my customer. One of his requirements is to be able to semi automate unit and load test
    generation for his REST services. To do it we need an ability to assign constraints to API parameters and ideally
    some formal language to specify them. parameters and return values. Ability insert such constraints in formal API
    descriptions can be enabler for much more smart automatic and semi automatic API QA tools such as test
    generation and load testing tools.

  3. Last thing that I am thinking about is an ability to add some description about how APIs may be batched.

Thanks in advance,
Pavel


#2
  1. Interesting idea. What form would you envision for this meta? A typical key-value dictionary?
  2. I believe this is already in the spec, as query parameters support a set of constraints, while request/response entities can be specified with JSON or XML schemas.
  3. Nice one!

#3

I believe this is already in the spec, as query parameters support a set of constraints, while request/response entities can >be specified with JSON or XML schemas.

Yep, specification supports some constraints, by all of them are related to only one item. For example currently we have no way to say the from query parameterers: a1,a2,a3 you should specify a3 or combination of a1 and a2.

Regards,
Pavel.


#4

Interesting set of requests. The last one I think means some way to specify larger APIs into smaller RAML files, then combine them to produce on larger API? Not sure if that is what “Batched” means in this scenario.