anterofit Build Status On Crates.io

Anterofit is a collection of Rust macros coupled to a lightweight, self-contained HTTP framework that allows you to create strongly-typed Rust wrappers around REST APIs with ease.

Inspired by Square's Retrofit, as referenced in the name, Anterofit is even more strongly typed as everything that is feasible to check at compile-time, is. Runtime errors are, with few exceptions, reserved for error conditions that can only be discovered at runtime.

Usage

Get started with our User Guide

Or an in-depth look with our Documentation

With rustc-serialize:

toml [dependencies] anterofit = "0.1"

With serde and JSON serialization:

toml [dependencies.anterofit] version = "0.1" default-features = false features = ["serde", "serde_json"]

Choosing a serialization framework

rustc-serialize and Serde both have their pros and cons. Neither is a clear winner over the other; it depends entirely on your needs.

rustc-serialize Serde
Pros
  • #[derive] on Stable channel
  • (Potentially) Faster Compilation:
    • No Transitive Dependencies
    • Uses compiler datastructures / doesn't have to reparse
  • More/extensible serialization options
  • Likely more performant serialization
Cons
  • Likely less performant serialization
  • Still somewhat unstable (may go away or change forms)
  • (Useful) serialization limited to JSON
  • #[derive] requires nightly/unstable feature
  • Slower compilation:
    • Several transitive dependencies
    • Procedural macros currently have to reparse the token stream instead of reusing compiler datastructures