RUST web框架axum快速入门教程3之状态共享
本文主要讨论axum
的状态共享,通过状态共享我们可以减少不必要的对象反复创建以及状态共享,共享状态的一个常用场景是共享数据库连接,通过复用数据库的连接对象可以极大的提升数据库操作效率。
本文主要讨论axum
的状态共享,通过状态共享我们可以减少不必要的对象反复创建以及状态共享,共享状态的一个常用场景是共享数据库连接,通过复用数据库的连接对象可以极大的提升数据库操作效率。
本系列文章主要是用Rust
的ethers-rs
来复刻《用Go来做以太坊开发》这本书本的内容,所以本系列文章的标题叫做《用Rust来做以太坊开发》, 算是ethers-rs
的快速入门教程, 因为原书写得足够好了,所以本系列更多的只是代码层面的复刻,不会说明太多相关的基础知识。
上一篇文章讨论了axum如何获取参数,这一节看看axum是怎么构造响应内容的,如果你还不知道如何处理axum的请求参数,可以阅读我之前的文章: https://youerning.top/post/axum/quickstart-1。
本系列文章主要是用Rust
的ethers-rs
来复刻《用Go来做以太坊开发》这本书本的内容,所以本系列文章的标题叫做《用Rust来做以太坊开发》, 算是ethers-rs
的快速入门教程, 因为原书写得足够好了,所以本系列更多的只是代码层面的复刻,不会说明太多相关的基础知识。
rust的tokio是一个很棒的异步运行时,所以tokio出品的axum大概率也是个很棒的框架,处于对异步编程和tokio的喜欢,所以我打算以后都使用axum作为web开发的首选框架。
本系列文章主要是用Rust
的ethers-rs
来复刻《用Go来做以太坊开发》这本书本的内容,所以本系列文章的标题叫做《用Rust来做以太坊开发》, 算是ethers-rs
的快速入门教程, 因为原书写得足够好了,所以本系列更多的只是代码层面的复刻,不会说明太多相关的基础知识。
golang内置了非常多优秀的库,net/http
是其中之一,net/http
不只是一个http客户端,它还实现了服务端,鉴于它非常贴心的设计,基于net/http
做一个web server是一件非常容易的事情,但是本文主要聚焦于http客户端相关的功能。
几乎所有程序都是可以配置的,这些配置信息一般以配置文件的方式存在,各编程语言有自己的配置管理方案,而Golang的一个非常流行和强大的配置管理库是viper
, 是cobra
作者写来跟cobra
一起配合使用而编写的。
cobra
也许是go语言现有最好的命令行框架了,在各大项目中皆有使用,比如最出名的kubernetes
, 所以要写一个稍微复杂的命令行工具,使用cobra还是不错的,cobra
内置了非常多有用的功能,包括但不限于,自动生成帮助文档, 生成命令行代码的脚手架工具, 智能提示等等。
typer的作者与著名项目FastAPI是同一个作者,作者擅长在已有库的基础上大幅度的提升用户体验,typer自然也不例外, 因为作者也大力提倡python的类型标注,所以typer的使用在Python 3.6+才能获得最佳体验。