This repository contains a sample that I used to do an introduction talk about Building Web APIs with Rust and Rocket at the Rust Linz meetup.
Introduction to Rocket
Description

This repository contains a sample that I used to do an introduction talk about Building Web APIs with Rust and Rocket at the Rust Linz meetup.
Storyboard
Prepare Environment
cargo new rusty-rocket-live
code .
cp -R ../rusty-rocket/.vscode ./.vscode
Dependencies
Open Cargo.toml* Snippet 010-rocket-dependency* in [dependencies] Snippet 015-rocket-git*
cargo build
Basics
Open main.rs* Snippet 020-use*, fold region Snippet 025-basic-get and 030-basic-launch*
cp -R ../rusty-rocket/requests.http .
- Demo request
Tests
Create src/tests.rs* Snippet 040-basic-test in tests.rs* Snippet 035-annotate-test-module in main.rs*
cargo test
Dynamic Paths
Snippet 045-dynamic-path in main.rs*
- Add
greetingto mounts - Demo request
cargo test
Querystring Parameters
Snippet 055-query-string-params in main.rs*
- Add
query_greetingto mounts - Demo request
cargo test
Request Guards
Create src/api_key.rs* Snippet 065-custom-request-guard in api-key.rs* Snippet 070-route-with-guard in main.rs*
- Add
protectedto mounts - Demo request
cargo test
Cookie Guards
Snippet 080-cookie-guard in main.rs*
- Add
loginandsessionto mounts - Demo request
cargo test
Simple REST API
Snippet 090-hero-api-region*
- Inside:
- Add
addhero,gethero, andget_allto mounts
- Demo request
Catcher
Snippet 125-404-catcher* Snippet 126-register-catcher*
- Demo request
Fairings
Snippet 130-log-fairing* Snippet 135-attach-fairing*
- Execute some demo requests (GET and POST)
- Show counter with demo request