Generator structów Rust
Generator structów Rust daje punkt wyjścia na podstawie jednej próbki; to, które pola są naprawdę opcjonalne, pokazuje własny schemat API.
🔒 To narzędzie działa w całości w Twojej przeglądarce. Twoje pliki nigdy nie są wysyłane na serwer.
Deweloper
Generator structów Rust
Podgląd interfejsu — bez przesyłania i usług zewnętrznych.
Structy Rust
Trzy zagnieżdżone structy z #[derive(Serialize, Deserialize, Debug)], user_id zmienione z userId, a email otypowane jako Option<String>, ponieważ w próbce było null.
Jak działa Generator structów Rust
- Wklej reprezentatywną próbkę JSON — taką, w której wypełnione jest każde pole opcjonalne, nie tylko przypadek minimalny.
- Wybierz derive'y oraz to, czy zmienić nazwy pól na snake_case za pomocą atrybutów serde rename.
- Skopiuj structy do swojej crate i sprawdź typy Option względem tego, co API naprawdę gwarantuje.
FAQ
Dlaczego niektóre pola są Option?
Ponieważ próbka miała tam null albo pole było nieobecne. Pole zawsze obecne w próbce zostanie wygenerowane jako zwykły typ, który wywoła panic przy deserializacji, gdy tylko API je pominie.
Czy jedna próbka JSON daje poprawne typy?
Daje typy zgodne z tą próbką. Przypadkowo małe liczby całkowite stają się i64, a pole będące stringiem w jednej odpowiedzi i liczbą w innej nie zostanie wykryte. Sprawdź to ze schematem API.
A co ze zmianą nazw na snake_case?
Konwencja Rust wymaga pól snake_case, podczas gdy większość API JSON używa camelCase. Generowanie atrybutów serde rename utrzymuje obie strony idiomatyczne bez ręcznej warstwy mapowania.
Porównanie
| Funkcja | Online Tool Store | Skrypt CLI | Wtyczka do IDE |
|---|---|---|---|
| Zawarte derive serde | ✓ | ✗ | ✓ |
| Option dla nullable | ✓ | ✗ | ✓ |
| Nic nie jest przesyłane | ✓ | Lokalnie | ✗ |
| Brak instalacji | ✓ | ✗ | ✓ |
Generator structów Rust daje punkt wyjścia na podstawie jednej próbki; to, które pola są naprawdę opcjonalne, pokazuje własny schemat API.