使用 Shelf 构建的新闻获取API服务器,配置为启用 Docker 运行。

请确保有一个包含必需参数的 .env 文件

gnewsapi=<yourkey>

文档可以在 /docs 端点(以及所有其他非API端点)找到

设置项目

您可能需要像这样生成代码文件

dart run build_runner build

运行示例

使用 Dart SDK 运行

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

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

然后在第二个终端执行

$ curl http://0.0.0.0:8080/v1/search?query=AMD
{"metadata":{"source":"..."},"count":...,"articles":[...]}

使用 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 News
I%20love%20News

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

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%20love%20News

GitHub

查看 Github