首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【Rust日报】2021-10-04 RillRate 大型 Yew 应用揭晓

大型 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小白

社区学习交流平台订阅:

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20211004A0AAN700?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券