一个使用 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– 此请求将更新并替换具有相同id的Todo。
项目结构
运行示例
使用 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
