2个不稳定版本
0.2.0 | 2023年1月29日 |
---|---|
0.1.0 | 2021年5月3日 |
#34 in #java-class
在jaded中使用
37KB
790 行
Jaded-derive
Jaded Java反序列化库的派生宏,支持'derive'功能。代码不需要直接依赖于此crate,而应该使用jaded。
lib.rs
:
为Rust类型自动实现jaded::FromJava
的派生宏。
这提供了一个FromJava
宏。
大多数FromJava
实现将非常相似,自动派生它们比为每个类型编写几乎相同的实现块更有意义。
对于'简单'的bean样式Java类,例如
public class Person implements Serializable {
private String firstName;
private String familyName;
private int age;
}
Rust的等价物可以自动派生
#[derive(FromJava)]
struct Person {
firstName: String,
familyName: String,
age: i32,
}
为了使Java和Rust都能保持各自的命名约定,提供了一个'重命名'功能,允许将camelCase Java字段读取到snake_case Rust字段中
#[derive(FromJava)]
#[jaded(rename)]
struct Person {
first_name: String,
family_name: String,
age: i32,
}
依赖项
~1.5MB
~36K SLoC