Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Save more on your purchases now! discount-offer-chevron-icon
Savings automatically calculated. No voucher code required.
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Rust Web Programming

You're reading from   Rust Web Programming A hands-on guide to developing, packaging, and deploying fully functional Rust web applications

Arrow left icon
Product type Paperback
Published in Jan 2023
Publisher Packt
ISBN-13 9781803234694
Length 666 pages
Edition 2nd Edition
Languages
Tools
Arrow right icon
Author (1):
Arrow left icon
Maxwell Flitton Maxwell Flitton
Author Profile Icon Maxwell Flitton
Maxwell Flitton
Arrow right icon
View More author details
Toc

Table of Contents (27) Chapters Close

Preface 1. Part 1:Getting Started with Rust Web Development FREE CHAPTER
2. Chapter 1: A Quick Introduction to Rust 3. Chapter 2: Designing Your Web Application in Rust 4. Part 2:Processing Data and Managing Displays
5. Chapter 3: Handling HTTP Requests 6. Chapter 4: Processing HTTP Requests 7. Chapter 5: Displaying Content in the Browser 8. Part 3:Data Persistence
9. Chapter 6: Data Persistence with PostgreSQL 10. Chapter 7: Managing User Sessions 11. Chapter 8: Building RESTful Services 12. Part 4:Testing and Deployment
13. Chapter 9: Testing Our Application Endpoints and Components 14. Chapter 10: Deploying Our Application on AWS 15. Chapter 11: Configuring HTTPS with NGINX on AWS 16. Part 5:Making Our Projects Flexible
17. Chapter 12: Recreating Our Application in Rocket 18. Chapter 13: Best Practices for a Clean Web App Repository 19. Part 6:Exploring Protocol Programming and Async Concepts with Low-Level Network Applications
20. Chapter 14: Exploring the Tokio Framework 21. Chapter 15: Accepting TCP Traffic with Tokio 22. Chapter 16: Building Protocols on Top of TCP 23. Chapter 17: Implementing Actors and Async with the Hyper Framework 24. Chapter 18: Queuing Tasks with Redis 25. Index 26. Other Books You May Enjoy

Inserting into the database

In this section, we will build and create a view that creates a to-do item. If we remember the rules around our creating of to-do items, we do not want to create duplicate to-do items. This can be done with a unique constraint. However, for now, it is good to keep things simple. Instead, we will make a database fall with a filter based on the title that is passed into the view. We then check, and if no results are returned, we will insert a new to-do item into the database. We do this by refactoring the code in the views/to_do/create.rs file. First, we reconfigure the imports as seen in the following code:

use crate::diesel;
use diesel::prelude::*;
use actix_web::HttpResponse;
use actix_web::HttpRequest;
use crate::json_serialization::to_do_items::ToDoItems;
use crate::database::establish_connection;
use crate::models::item::new_item::NewItem;
use crate::models::item::item::Item;
use crate::schema::to_do;

In the preceding code, we import the necessary...

lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at €18.99/month. Cancel anytime