The idea of an API-first approach is to treat APIs as first-class citizens by building the software product around APIs.
Formal specifications serve as the contract and define, what the consumer can expect from the API.
To ensure consistency of the contract and the implementation, some parts of the source code can be generated from the specification document.
A regular task in the life of a software developer is to choose appropriate tools for specific use cases.
That's why I would like to have a short look at several tools which I already used for testing REST APIs.
To be more concrete, it's about cURL, JMeter, SOAP UI, Swagger UI, Postman and IntelliJ Idea.
Consistent error handling is an important issue when it comes to REST API design.
If HTTP is used as transport protocol, it is obvious to stick to specified semantics like using proper HTTP status codes in responses.
Especially in error situations it can make sense to deliver additional information in the response payload.
This blog post will have a closer look on a pattern which describes how providing such information can be enforced when Apigee is used as API gateway.