We take advantage of the new Node.js features like
async/await from ES2017 and the awesome
yarn package-manager to create modern JSON APIs with Koa v2. Make sure you have at least Node.js 7.6.x installed.
ctx (context) variable encapsulates a Request and Response object, they are similar to what we already know about the
res objects from the Express.js framework, but it is more expressive and easy to understand thanks to its getters, _setters and some shortcuts. It also parses the response content and sets the
Content-Type header based on the type of its body property. Finally, we can manually set the response headers and status code.
The HTTP client from the video is wuzz.
To start our application, we have to listen to a specific port. We will go to our package, that JSON file, and we'll create a script session. The start command will run node on our index.js file. Going back to the terminal, we run [inaudible 0:54] start. Then, using any HTTP client, we perform a git request.
We should expect a JSON response with its respective header. Furthermore, we have control over the context variable. Here, in this example, we will simulate a not found response. To try this, we must restart our application. Finally, we can see that the status code has changed.