January 15, 2019
We are pleased to announce the release of API Simulator version 1.2. Here is what is new and what changed:
- Introduced a new built-in Request Object – “_request” – that can be used in templates to get access to parts of the HTTP request and use them in rendering the response. The Request Object compliments the existing support for parameters from HTTP request components – use whichever approach suits your style.
- Update to the YAML DSL: the “matchers” top-level element has been deprecated and replaced by “request”. This makes for an even easier to read configuration (BDD-like “[when] request … [then] response …”). Simlets using the “matchers” top-level element will still work but the support will be removed in a future release.
- It is not required anymore to name the default simlet of a simulation “_default” – it can now be any valid simlet name.
- It is not required anymore to define a default simlet for each simulation. API Simulator now has a built-in default simlet that will return “404 Not Found” for HTTP status and with “API Simulator couldn’t find a matching simlet for the request.” body when it cannot match a request and the simulation does not have a default simlet defined.
- Internal changes to how API Simulator performs request matching. As result, in our tests, a single API Simulator instance can now handle about 20-25% more requests per second compared to before for the same simlets and under the same conditions.
- JSON DSL for configuration. This was a tough one…not to implement but to make the decision to announce it. The reason being that, arguably, writing configuration in JSON for APIs that return JSON body and require embedding JSON inside JSON is just awkward – escaping double quotes and new line/carriage return characters, everything on a single (very long) line…not something that is easy to stomach. We actually experimented with HJSON and it looked very promising until we tried to use an array of unquoted comma-delimited strings on a single line – the result wasn’t what we expected and we gave up (for now). Perhaps we will write a blog article about it… Long story short, the JSON-based DSL will not be documented at this time even though it will be used internally between the future version of API Simulation Modeler and its server side.
- Updates to the documentation to reflect anything new and the changes, except for the JSON DSL.
- Few other small internal changes.
Let us know what you think at [feedback at APISimulator.com]. Many thanks for your interest and support!
Happy API Simulating!