Posted: Sep 06, 2020 by Alan Giles

Microservices have become the architecture pattern of choice for most developers and encourages the single responsibility principle. Architectures must scale and support a variety of different clients including desktop browsers, mobile browsers and native mobile applications.
On new or existing projects, we are often faced with a wide variety of static data that needs to be converted into database tables and APIs. Often overlooked at this stage is challenges regarding access patterns, scaling, monitoring and alerting. The Ops part of DevOps has just started to hit home.
In this post we will show you how you can use Sofodata to provision your data as a Secure RESTful API in minutes, letting you get back to building cool, exciting applications and leaving the scaling and operations stuff to us.
This post assumes some pre-existing knowledge of data formats such as CSV and JSON and APIs. No coding required.
The final API we want to build is a City Name to Country Code lookup. This means we want to query the API by Name with
value Spain and have the API return a response containing the Code of ES as shown below.
[
{
"Name": "Spain",
"Code": "ES"
}
]If you haven’t yet, signup for your free Sofodata account.
Download the country-codes.csv from Sofodata’s GitHub account.
Navigate to the Sofodata datasets page and drag the country-codes.csv file onto the file upload dropzone or click browse to search for the file to upload.

Once uploading has completed, you need to configure the CSV settings for the file you have just uploaded such as the format, name and description.
For the format select Comma Separated Values.
The country-codes.csv has header columns therefore leave Has Header Row as checked.
The Name of your dataset will be automatically populated to the file name, less the file suffix. You can name it (almost) anything you like but for this example lets leave it as country-codes. You can always rename it to something more meaningful later.
You can leave Description as blank. Again you can change it to something more meaningful later.
Click the Deploy button to trigger a deployment of your dataset, which will automatically provision a new API for you.

Depending on the size of your dataset, the deployment process can take from a couple of seconds to several minutes to complete. No need to grab a coffee yet.

Awesome!!. Your new API has now successfully been deployed. Let’s give it a go.
Click the Try Now to open up the testing page.

Every dataset that you deploy comes with a testing page, that enables you to run interactive queries against your dataset’s API.
Click the Test button.
A response from the API should be received as shown below.

The datasets API supports a number of query parameters that’s allows filtering results by column values or limiting the number of results.
In this example we want to filter results by the column Name, therefore the url should look something like https://genesis.sofodata.com/v1/ri5n45?Name=Spain.
Modify the url and append ?Name=Spain to it and click the Test button again.
The API response should be as we outlined in the overview.

Congratulations!!!
In this post you learned how you can use Sofodata to provision the country-codes.csv as a Secure RESTful API in a few minutes, with no coding or operations work required. Time to grab a well-deserved coffee.