Build a CRUD API with Rust
Since my initial Node/Rust REST comparison, I’ve wanted to follow up with a comprehensive guide for getting simple CRUD operations up and running in Rust.
While Rust has its complexities, coming from Node.js, one thing that’s kept me attracted to the language is its simplicity. It’s sleek and strikes a great balance between safety and cognitive intuition.
In any event, hopefully this guide helps those that are new to Rust and encourages those who are on the fence.
Scroll down if you’d like to see how Rust compares against Java and Node.js
Major frameworks used
- Rocket — web framework for writing fast web applications
- Serde — framework for serializing and deserializing Rust data structures
- Diesel — safe, extensible ORM and query builder
Creating our application in Rust
First, we’ll create a new Rust project using the commands below.
[sean@lappy486:~] $ cargo new hero-api --bin && cd hero-api
Created binary (application) `hero-api` project
Before we move forward though, Rocket requires us to use the nightly Rust build. Thankfully, there’s a quick command we can use to switch channels.
$ rustup default nightly
$ rustup update && cargo update
You’ll get some output here regarding the switch but, can confirm it was successful by…