一个使用 Shelf 构建的服务器应用程序,
配置为支持使用 Docker 运行。

此示例代码处理对 //echo/<message> 的 HTTP GET 请求

请求概述

此示例代码处理以下请求

GET

  • /todos – 此请求将获取列表中所有可用的待办事项。
  • /todo/<id> - 此请求将根据解析的 id 获取 Todo

POST

  • /add-todo – 此请求将添加一个新的 Todo 到列表中,使用附加的 JSON 正文。

DELETE

  • delete-todo/<id> – 此请求将根据解析的 id 删除 Todo

PUT

  • update-todo – 此请求将更新并替换具有相同 idTodo

项目结构

todo_server_pj_structure

运行示例

使用 Dart SDK 运行

您可以使用 Dart SDK 运行此示例
像这样

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

然后在第二个终端执行

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

使用 Docker 运行

如果您安装了 Docker Desktop,您可以
使用 docker 命令进行构建和运行

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

然后在第二个终端执行

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

您应该会在第一个终端看到打印的日志

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

GitHub

查看 Github