大型 Yew 应用揭晓: 所有的 RillRate 资源均可使用
RillRate是一个将实时网络仪表盘嵌入到你的应用程序中的库。
RillRate 周一发布了前端的所有资源(由Yew制作)!并将许可完全改为Apache-2.0:前端和后端。
你可以在这里看到Yew应用程序的资源:https://github.com/rillrate/rillrate/tree/trunk/pkg-dashboard
它包括2个crate:
rate-ui -小部件基础和连接代理
rate-app -仪表盘
Poem 0.8 版本发布
Poem是一个功能齐全且易于使用的web框架,使用Rust编程语言。
usepoem::;
#[handler]
fnhello(Path(name): Path) ->String{
format!("hello: {}", name)
}
#[tokio::main]
asyncfnmain() ->Result {
letapp = route().at("/hello/:name", get(hello));
letlistener = TcpListener::bind("127.0.0.1:3000");
letserver = Server::new(listener).await?;
server.run(app).await
}
openapi 例子
usepoem::;
usepoem_openapi::;
structApi;
#[OpenApi]
implApi {
#[oai(path ="/hello", method ="get")]
asyncfnindex(
&self,
#[oai(name ="name", in ="query")]name:Option,
) -> PlainText {
matchname {
Some(name) => PlainText(format!("hello, {}!", name)),
None=> PlainText("hello!".to_string()),
}
}
}
#[tokio::main]
asyncfnmain() ->Result {
letlistener = TcpListener::bind("127.0.0.1:3000");
letapi_service = OpenApiService::new(Api)
.title("Hello World")
.server("http://localhost:3000/api");
letui = api_service.swagger_ui("http://localhost:3000");
poem::Server::new(listener)
.await?
.run(route().nest("/api", api_service).nest("/", ui))
.await
}
doku: 0.10 发布
Doku是一个框架,可以直接从代码中构建美观的、人类可读的文档;它允许您轻松地为配置文件、HTTP端点等生成文档。
告别陈旧的手写文档——使用Doku,代码就是文档!
usedoku::Document;
useserde::Deserialize;
#[derive(Deserialize, Document)]
structConfig{
/// Database's engine
db_engine: DbEngine,
/// Database's host
#[doku(example ="localhost")]
db_host:String,
/// Database's port
#[doku(example ="5432")]
db_port:usize,
}
#[derive(Deserialize, Document)]
enumDbEngine{
#[serde(rename ="pgsql")]
PostgreSQL,
#[serde(rename ="mysql")]
MySQL,
}
fnmain() {
println!("{}", doku::to_json::());
}
结果
{
// Database's engine
"db_engine":"pgsql"|"mysql",
// Database's host
"db_host":"localhost",
// Database's port
"db_port":5432
}
github 地址: https://github.com/anixe/doku
--
From 日报小组 BobQin,FBI小白
社区学习交流平台订阅:
领取专属 10元无门槛券
私享最新 技术干货