#rocket #macro-derive #derive #macro

macro rocket_extra_codegen

为rocket.rs提供的额外宏

1 个不稳定版本

0.1.0 2019年2月7日
0.0.0 2019年2月4日

#196 in #rocket

MIT 许可证

7KB
104 代码行

为rocket.rs提供的额外宏

派生 FromRequest

use rocket_extra_codegen::FromRequest;

#[derive(FromRequest)]
struct BookingService {
    db_conn: DbConnection,
    queue_conn: QueueConnection,
    user: AuthUser,
}

各个字段的错误将被通过From特质转换为通用的目标错误类型。目标错误类型默认为(),但可以手动覆盖

use rocket_extra_codegen::FromRequest;

#[derive(FromRequest)]
#[error_type = "MyError"]
struct BookingService {
    db_conn: DbConnection,
    queue_conn: QueueConnection,
    user: AuthUser,
}

依赖

~2MB
~46K SLoC