#rest #demos #greeter #cargo-zigbuild #drone-io

bin+lib rgreeter

一个简单的 REST API,通过姓名问候用户。通常用于快速演示和检查。

3 个版本

0.1.2 2023 年 2 月 20 日
0.1.1 2023 年 2 月 19 日
0.1.0 2023 年 2 月 19 日

#1107HTTP 服务器

Apache-2.0

21KB
192

Rust Greeter

一个使用 axum 构建 API 的 rust-lang 示例。

示例应用程序将被交叉编译为:

  • linux/arm64 (aarch64-unknown-linux-musl)
  • linux/amd64 (x86_64-unknown-linux-musl)

示例使用 cargo-zigbuild 作为交叉编译的工具。

先决条件

本地构建

cargo build

启动服务器:

./target/debug/rgreeter

测试

在新的终端中启动应用程序以运行集成测试:

PORT=8080 cargo run

在另一个终端中运行:

cargo test

测试应用程序

一旦服务器启动,您可以尝试以下 REST URI:

  • 默认的 curl https://127.0.0.1:3000/ 返回 Hello World!
  • 问候: curl https://127.0.0.1:3000/greet 返回 Hello! 匿名!
  • 问候一个人: curl https://127.0.0.1:3000/greet?name=Jack 返回 Hello! Jack!

构建并推送镜像到 Docker 仓库

$PROJECT_HOME 下创建一个名为 .env 的文件,

注意:您可以将文件 .env.example 复制到 .env 并更新您的设置

PLUGIN_USERNAME=<container registry username>
PLUGIN_PASSWORD=<container registry password>
PLUGIN_REPO=<container image repo to push image>
PLUGIN_REGISTRY=<container registry to use>

例如。

PLUGIN_USERNAME=octocat
PLUGIN_PASSWORD=octocat registry password
PLUGIN_REPO=ghcr.io/octocat/rgreeter
PLUGIN_REGISTRY=ghcr.io
task ci

一旦镜像被推送,运行以下命令:

docker-compose up 

使用命令 docker ps 查找公开的端口,并使用 URI 测试应用程序。

注意:如果您的机器上端口 8080 不可用,请尝试使用其他端口。

依赖项

~10–18MB
~240K SLoC