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