https://www.appearhere.co.uk?hn is the UK’s leading marketplace for commercial letting. Our platform allows anyone with an idea to book everything from pop ups through to prime Oxford Street locations. It’s been called AirBnB for brands, and our vision is to make it as easy to book a shop as it is to book a hotel room. A surprisingly huge market, and it's in our hands to become the world's leading marketplace.
You’d be part of a small team that is taking Appear Here worldwide, onto new platforms, and deep into masses of valuable data. It's an energetic, committed, challenging, and sane culture. Plus we're a stone's throw from the best lunchtime options in London.
5 months in, we're happy with API Blueprint. We used to use Dredd for API validation but ran into to some limitations:
- Dredd does not perform any validation against the siren response beyond the first key level. For example, it does not validate if the class-name is user-events, or usr-events
- Dredd does not make any difference between Action parameters and Resource parameters. Then, an action POST to create user-events will have undesired url parameters. E.G: POST /user-events?take=0&skip=2 (The apib blueprint specs allows to make this difference: https://github.com/apiaryio/api-blueprint/blob/master/exampl...)
Hi, I'm Dredd developer and here are my comments on Dredd - API Blueprint testing tool:
- Dredd does not perform any validation against the siren response beyond the first key level. For example, it does not validate if the class-name is user-events, or usr-events
This I can't confirm, presence of object keys is validated on any level.
- Dredd does not make any difference between Action parameters and Resource parameters. Then, an action POST to create user-events will have undesired url parameters. E.G: POST /user-events?take=0&skip=2
This is true, but it’s by design. In Dredd URI parameters are inherited from resource to action, but there is no way how to filter out unwanted parameters from resource under action section.
In this case I assume that `skip` and `take` parameters belong only to GET action (retrieving collection), so its imho a non-sense to discuss them on the resource level because they will be propagated to any action under that resource.
We're trialling cutting packages from Rails apps with fpm[1], plus prm[2] to create the apt repository on s3.
There's a bit of footwork needed to include built gems and correct asset manifests in the package too, but we now have 10-20s deploys, down from 8-12 mins. Plus it has less impact on server resources.