#postgresql #web-server #actix-web #tokio-postgres #basic #start #run-time

app jake_the_dog

大狗_jake是一个骨架项目,您可以使用它以Rust和PostgreSQL为基础创建一个基本的Web服务器。

2个稳定版本

1.0.1 2023年5月22日

#486HTTP服务器

MIT/Apache

185KB
494

大狗_jake

本项目目的

本项目的目的是为Rust的新手提供一个基本的项目来学习,甚至可以用来开始他们自己的项目。开始Rust可能很难。我可能比大多数人学得更慢。我承认,我花了比我想象的要多的时间来学习这五个文件中的所有内容。我知道其他人也处于这个位置。我希望这个仓库可以作为这些相互关联的技术如何协同工作的基本示例。我知道我可能没有完全按照最佳实践来实现所有内容,但我尽力了。如果您想让我在这里做任何改变,请随时提交一个pull请求或提问。

包含的技术

  • Rust编程语言
  • tokio (Rust运行时)
  • tokio-postgres (用于连接到PostgreSQL)
  • uuid (Rust的UUID crate)
  • serde (用于在Rust中处理JSON的crate)
  • actix-web (用于创建Rust网络服务的框架)

如何生成本项目的文档

  1. 运行 cargo doc --open。运行此命令将导致Cargo为该项目生成所有相关文档。您也可以通过访问在线的docs.rs并搜索您感兴趣的crate来在Google中搜索文档。

如何运行本项目

  1. 请确保您有一个包含以下值的.env文件:DBHOSTDBUSERDBPORTDBPASSWORDDBNAME。所有这些值将与您设置的PostgreSQL设置相对应。
  2. 请确保您已安装docker compose
  3. 运行 docker compose up -d
  4. 您应该能够访问以下路由 localhost:8080/hello/harrylocalhost:8080/db_test 并收到一个 JSON 响应。
  5. 如果您想查看 PostgreSQL (PgAdmin4) 的 GUI,请访问此处:https://127.0.0.1:16543。用户名是 test@test.com,密码是 test。要在 PgAdmin4 中添加 PostgreSQL 服务器,登录后点击“添加新服务器”。在“常规”选项卡中,您可以给服务器命名任何您想要的名称。接下来,选择“连接”选项卡。在“主机名/地址”的位置,运行此命令:ifconfig | grep inet,并输入输出的其中一个 IP 地址。对于“端口号”,输入 5440。对于“维护数据库”,输入 root。对于“用户名”,输入 root。对于“密码”,输入 root。最后,如果一切输入正确,您应该在模态窗口上点击保存按钮,并且您应该已连接。
  6. docker_postgres_init.sql 中,您应该在文件底部看到一个 INSERT 语句。如果 product 表中没有数据,您可以自由地在 PgAdmin 中运行此查询。如果之前 localhost:8080/db_test 端点没有工作,现在可能可以工作了。

您可以从这个项目中学习到什么

  1. Rust 模块的工作方式
  2. 如何将 Rust 连接到 PostgreSQL
  3. 如何使用 Actix-Web
  4. Rust 生命周期
  5. 设置项目的基本方法

关于 Jake the Dog

wiki: https://adventuretime.fandom.com/wiki/Jake

我选择 Jake 作为这个项目的吉祥物,因为 Jake 是一个人可能拥有的最可靠的伙伴。Jake 还非常灵活。灵活性和可靠性是我在网络服务器中寻找的两个能力。

依赖项

~16–27MB
~490K SLoC