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
Parameter | What does it do? |
---|---|
offset | The amount of data entries that should be skipped |
pageSize | Total 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
Provides the list of the opensource Flutter apps collection with GitHub repository.