We are going to build several projects, introducing new features in every project. Let's look at each one, as follows:
- The first project will build a stub of a service that should allow any client to upload, download, or delete files from the server. This project shows how to create a REST application programming interface (API), but it does no useful work.
- The second project will implement the API described in the previous project. It will build a service that actually allows any client to upload, download, or delete files from the server filesystem.
- The third project will build a service that allows clients to add key-value records to a memory database residing in the server process, and to recall some predefined queries built into the server. The result of such queries will be sent back to the client in plain text format.
- The fourth project will be similar to the third one, but the results will be encoded in JSON format.
Our source code is small, but it includes...