Dart Shelf REST API with auth, recipes, AI (Claude), search, and community modules. PostgreSQL, Redis, Meilisearch. Docker Compose for local dev.
50 lines
1.1 KiB
Markdown
50 lines
1.1 KiB
Markdown
A server app built using [Shelf](https://pub.dev/packages/shelf),
|
|
configured to enable running with [Docker](https://www.docker.com/).
|
|
|
|
This sample code handles HTTP GET requests to `/` and `/echo/<message>`
|
|
|
|
# Running the sample
|
|
|
|
## Running with the Dart SDK
|
|
|
|
You can run the example with the [Dart SDK](https://dart.dev/get-dart)
|
|
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
|
|
```
|
|
|
|
## Running with Docker
|
|
|
|
If you have [Docker Desktop](https://www.docker.com/get-started) 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
|
|
```
|