Building web APIs with Rust advanced

Back-end web development for Rustaceans
Building web APIs with Rust advanced
File Size :
4.47 GB
Total length :
7h 16m



Paris Liakos


Last update




Building web APIs with Rust advanced

What you’ll learn

Implementing an authentication service in a Rocket REST API
Managing database entities with complex fields and relationships using Diesel and PostgreSQL
Implementing a cache database with Redis
Session handling and granular access management for different endpoints
Testing API endpoints in an automated way
Sending HTML emails with lettre and tera
Writing CLI commands with clap

Building web APIs with Rust advanced


Good knowledge of Rust
Familiarity with docker and docker-compose
Understanding of HTTP, REST and JSON
Experience with SQL and ORMs in general


Rust is a systems programming language which you can use to write applications with high performance. It is amazingly refreshing with a very helpful compiler who is your mentor since the very beginning.Cargo is not only a package manager but also a build tool, a documentation generator and a lot more, making your every day managing Rust apps really easy.It is no wonder that for these reasons, plus many more, Rust was voted as StackOverflow’s most loved programming language, five years in a row.You have already spent a good amount of time developing web applications and you have a very good understanding of Rust.You are beyond the point of simple, toy applications and you are ready to start doing some serious back-end web development and you are wondering whether Rust can be used for this purpose.You are looking for a resource that has all you need in a single place.Well, look no further! In this course i will show you how to create a complex web app in Rust that serve JSON APIs but also have a CLI interface at the same moment. We will use the Rocket web framework along with the Diesel ORM to build Rest APIs with- Authentication built-in (users and passwords)- Redis as a cache storage- Access management with roles – Handling for datetime fields- CLI commands- Logging- Automated API testing


Section 1: Introduction

Lecture 1 Introduction

Lecture 2 Local setup

Lecture 3 Gitlab repository

Section 2: Database

Lecture 4 Migrations and models

Lecture 5 Repositories

Section 3: Web server

Lecture 6 Rustacean endpoints

Lecture 7 Crate endpoints

Section 4: Tests

Lecture 8 Rustacean endpoint tests

Lecture 9 Crate endpoint tests & logging

Lecture 10 Tests cleanup and a few more cases

Section 5: Authentication

Lecture 11 User/Role models and relationship

Lecture 12 Users management CLI command

Lecture 13 Create user command

Lecture 14 Password hashing

Lecture 15 List and delete users

Lecture 16 Login endpoint

Lecture 17 Generating session IDs

Lecture 18 Redis setup

Lecture 19 Redis key/value set with expiry

Lecture 20 Making routes private

Lecture 21 Access levels based on roles

Section 6: Emails

Lecture 22 Lettre and tera for email sending

Lecture 23 Email module and cleanup

Section 7: Outro

Lecture 24 Recap and goodbye

Web developers looking to build a Rust server for advanced cases,Web developers looking into building very fast and reliable servers

Course Information:

Udemy | English | 7h 16m | 4.47 GB
Created by: Paris Liakos

You Can See More Courses in the Developer >> Greetings from

New Courses

Scroll to Top