A Web API developed using Dart as backend

  API, web app

About: A Web API developed using Dart as backend, which hosts the data from a local json file.

A server app built using Shelf, configured to enable running with Docker.

This sample code handles HTTP GET requests to /api and returns a JSON response from a local file.

So how does it work ?

The dart code reads data from the json file located inside the bin folder, and sends the same as the server response.

Note: Only GET works for the API. ie, if you are testing the API on any API Testing Tools like Postman using any HTTP methods other than GET, you may receive the default response only.

Query Parameters

ParameterWhat does it do?
offsetThe amount of data entries that should be skipped
pageSizeTotal amount of entries to be shown

Running the sample

Running with the Dart SDK

You can run the example with the Dart SDK like this:

$ dart run bin/server.dart
Server listening on port 8080

And then from a second terminal:

$ curl http://0.0.0.0:8080
Hello World !
$ curl http://0.0.0.0:8080/echo/I_love_Dart
I_love_Dart

$ curl http://0.0.0.0:8080/api
<get API response>

Running with Docker

If you have Docker Desktop installed, you can build and run with the docker command:

$ docker build . -t myserver
$ docker run -it -p 8080:8080 myserver
Server listening on port 8080

And then from a second terminal:

$ curl http://0.0.0.0:8080
Hello, World!
$ curl http://0.0.0.0:8080/echo/I_love_Dart
I_love_Dart

You should see the logging printed in the first terminal:

2021-05-06T15:47:04.620417  0:00:00.000158 GET     [200] /
2021-05-06T15:47:08.392928  0:00:00.001216 GET     [200] /echo/I_love_Dart

Download Web API source code on GitHub

https://github.com/infiniteoverflow/Musical-Instruments-API