Our service needs to be reachable via URLs. Vapor's way of addressing that is by using a router. The router compares incoming request URLs to what we have told it to do and will execute the desired function. We need to do this for every service that is serving as a Representational State Transfer (REST) API.
Let's start by defining all the routes that we will need to cover. This service will serve three main purposes:
- User account management
- Login/verification
- Address management for user accounts
The following table lists all the routes that we need for that. The * stands for any character, to provide the ability to run multiple versions of the same API. The :variablename stands for placeholders that will be numeric IDs. All inputs and outputs are in JSON format:
Path | Method | Parameters | Output/Description |
/*/users/register | POST | Email Password First... |