Ví dụ API MongoDB

API REST đã trở thành De Facto để kết nối và truyền dữ liệu từ nguồn này sang nguồn khác. Nó cung cấp một tập hợp các nguyên tắc và mẫu kiến ​​trúc để thiết kế và phát triển các dịch vụ web

Bài đăng này sẽ thảo luận về việc xây dựng ứng dụng quản lý người dùng với Rust sử dụng Rocket framework và MongoDB. Ở phần cuối của hướng dẫn này, chúng ta sẽ tìm hiểu cách cấu trúc ứng dụng Rust, xây dựng API REST và duy trì dữ liệu của chúng ta bằng MongoDB

Rocket là một khung web HTTP được viết bằng Rust với các ưu tiên về bảo mật, tính linh hoạt và tốc độ. Tên lửa cung cấp các tính năng như an toàn loại, khả năng sử dụng lại, ghi nhật ký, phân phối tệp tĩnh và nhiều tính năng khác mà các nhà phát triển có thể tận dụng để xây dựng các ứng dụng có thể mở rộng với ít mã hơn

MongoDB là một chương trình quản lý cơ sở dữ liệu dựa trên tài liệu được sử dụng thay thế cho cơ sở dữ liệu quan hệ. MongoDB hỗ trợ làm việc với các tập dữ liệu phân tán lớn với các tùy chọn để lưu trữ hoặc truy xuất thông tin một cách liền mạch

Mã nguồn hoàn chỉnh có sẵn trong kho lưu trữ này

điều kiện tiên quyết

Để nắm bắt đầy đủ các khái niệm được trình bày trong hướng dẫn này, cần có kinh nghiệm với Rust. Kinh nghiệm với MongoDB không phải là một yêu cầu, nhưng thật tuyệt khi có

Chúng tôi cũng sẽ cần những điều sau đây

  • Tài khoản MongoDB để lưu trữ cơ sở dữ liệu. Đăng ký hoàn toàn miễn phí
  • Người đưa thư hoặc bất kỳ ứng dụng thử nghiệm API nào
Hãy viết mã

Bắt đầu

Để bắt đầu, chúng ta cần điều hướng đến thư mục mong muốn và chạy lệnh bên dưới trong thiết bị đầu cuối của mình

    cargo new rocket-mongo-api && cd rocket-mongo-api

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Lệnh này tạo một dự án Rust có tên là

    cargo build
7 và điều hướng vào thư mục dự án

Tiếp theo chúng ta tiến hành cài đặt các phụ thuộc cần thiết bằng cách sửa đổi phần

    cargo build
8 của file
    cargo build
9 như hình bên dưới

    //other code section goes here

    [dependencies]
    rocket = {version = "0.5.0-rc.2", features = ["json"]}
    serde = "1.0.136"
    dotenv = "0.15.0"

    [dependencies.mongodb]
    version = "2.2.0"
    default-features = false
    features = ["sync"] 

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

    #[macro_use]
    extern crate rocket;
    use rocket::{get, http::Status, serde::json::Json};

    #[get("/")]
    fn hello() -> Result<Json<String>, Status> {
        Ok(Json(String::from("Hello from rust and mongoDB")))
    }

    #[launch]
    fn rocket() -> _ {
        rocket::build().mount("/", routes![hello])
    }
0 là một khung dựa trên Rust để xây dựng các ứng dụng web. Nó cũng chỉ định phiên bản được yêu cầu và loại tính năng (json)

    #[macro_use]
    extern crate rocket;
    use rocket::{get, http::Status, serde::json::Json};

    #[get("/")]
    fn hello() -> Result<Json<String>, Status> {
        Ok(Json(String::from("Hello from rust and mongoDB")))
    }

    #[launch]
    fn rocket() -> _ {
        rocket::build().mount("/", routes![hello])
    }
1 là một khung để tuần tự hóa và giải tuần tự hóa cấu trúc dữ liệu Rust. e. g. chuyển đổi cấu trúc Rust thành JSON

    #[macro_use]
    extern crate rocket;
    use rocket::{get, http::Status, serde::json::Json};

    #[get("/")]
    fn hello() -> Result<Json<String>, Status> {
        Ok(Json(String::from("Hello from rust and mongoDB")))
    }

    #[launch]
    fn rocket() -> _ {
        rocket::build().mount("/", routes![hello])
    }
2 là một thư viện để quản lý các biến môi trường

    #[macro_use]
    extern crate rocket;
    use rocket::{get, http::Status, serde::json::Json};

    #[get("/")]
    fn hello() -> Result<Json<String>, Status> {
        Ok(Json(String::from("Hello from rust and mongoDB")))
    }

    #[launch]
    fn rocket() -> _ {
        rocket::build().mount("/", routes![hello])
    }
3 là trình điều khiển để kết nối với MongoDB. Nó cũng chỉ định phiên bản được yêu cầu và loại tính năng (API đồng bộ hóa)

Chúng ta cần chạy lệnh bên dưới để cài đặt các phụ thuộc

    cargo build

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Điểm đầu vào ứng dụng

Với các phụ thuộc dự án đã được cài đặt, hãy sửa đổi tệp

    #[macro_use]
    extern crate rocket;
    use rocket::{get, http::Status, serde::json::Json};

    #[get("/")]
    fn hello() -> Result<Json<String>, Status> {
        Ok(Json(String::from("Hello from rust and mongoDB")))
    }

    #[launch]
    fn rocket() -> _ {
        rocket::build().mount("/", routes![hello])
    }
4 trong thư mục
    #[macro_use]
    extern crate rocket;
    use rocket::{get, http::Status, serde::json::Json};

    #[get("/")]
    fn hello() -> Result<Json<String>, Status> {
        Ok(Json(String::from("Hello from rust and mongoDB")))
    }

    #[launch]
    fn rocket() -> _ {
        rocket::build().mount("/", routes![hello])
    }
5 thành như sau

    #[macro_use]
    extern crate rocket;
    use rocket::{get, http::Status, serde::json::Json};

    #[get("/")]
    fn hello() -> Result<Json<String>, Status> {
        Ok(Json(String::from("Hello from rust and mongoDB")))
    }

    #[launch]
    fn rocket() -> _ {
        rocket::build().mount("/", routes![hello])
    }

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Đoạn mã trên thực hiện như sau

  • Nhập các phụ thuộc cần thiết
  • Tạo trình xử lý
        #[macro_use]
        extern crate rocket;
        use rocket::{get, http::Status, serde::json::Json};
    
        #[get("/")]
        fn hello() -> Result<Json<String>, Status> {
            Ok(Json(String::from("Hello from rust and mongoDB")))
        }
    
        #[launch]
        fn rocket() -> _ {
            rocket::build().mount("/", routes![hello])
        }
    
    6 sử dụng macro Rust để chỉ định phương thức HTTP, đường dẫn tuyến đường
        #[macro_use]
        extern crate rocket;
        use rocket::{get, http::Status, serde::json::Json};
    
        #[get("/")]
        fn hello() -> Result<Json<String>, Status> {
            Ok(Json(String::from("Hello from rust and mongoDB")))
        }
    
        #[launch]
        fn rocket() -> _ {
            rocket::build().mount("/", routes![hello])
        }
    
    7 và trả về JSON của
        #[macro_use]
        extern crate rocket;
        use rocket::{get, http::Status, serde::json::Json};
    
        #[get("/")]
        fn hello() -> Result<Json<String>, Status> {
            Ok(Json(String::from("Hello from rust and mongoDB")))
        }
    
        #[launch]
        fn rocket() -> _ {
            rocket::build().mount("/", routes![hello])
        }
    
    8
  • Sử dụng macro
        #[macro_use]
        extern crate rocket;
        use rocket::{get, http::Status, serde::json::Json};
    
        #[get("/")]
        fn hello() -> Result<Json<String>, Status> {
            Ok(Json(String::from("Hello from rust and mongoDB")))
        }
    
        #[launch]
        fn rocket() -> _ {
            rocket::build().mount("/", routes![hello])
        }
    
    9 để chạy hàm
        cargo build
    
    70 không đồng bộ và khởi động máy chủ. Hàm
        cargo build
    
    70 tạo một máy chủ mới bằng cách sử dụng hàm
        cargo build
    
    72 và gắn trình xử lý
        #[macro_use]
        extern crate rocket;
        use rocket::{get, http::Status, serde::json::Json};
    
        #[get("/")]
        fn hello() -> Result<Json<String>, Status> {
            Ok(Json(String::from("Hello from rust and mongoDB")))
        }
    
        #[launch]
        fn rocket() -> _ {
            rocket::build().mount("/", routes![hello])
        }
    
    6 vào một tuyến đường

Tiếp theo, chúng tôi có thể kiểm tra ứng dụng của bạn bằng cách chạy lệnh bên dưới trong thiết bị đầu cuối của bạn

    cargo build
7

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Rocket chạy máy chủ phát triển trên

    cargo build
74 hoặc
    cargo build
75

Ví dụ API MongoDB

Hệ thống mô-đun trong Rust

Mô-đun trong Rust là cơ chế chia mã thành các thành phần có thể tái sử dụng và quản lý khả năng hiển thị giữa chúng. Các mô-đun giúp chúng tôi duy trì cấu trúc dự án tốt cho dự án của chúng tôi

Để làm điều này, chúng ta cần điều hướng đến thư mục

    #[macro_use]
    extern crate rocket;
    use rocket::{get, http::Status, serde::json::Json};

    #[get("/")]
    fn hello() -> Result<Json<String>, Status> {
        Ok(Json(String::from("Hello from rust and mongoDB")))
    }

    #[launch]
    fn rocket() -> _ {
        rocket::build().mount("/", routes![hello])
    }
5 và tạo thư mục
    cargo build
77,
    cargo build
78 và
    cargo build
79 với tệp
    cargo build
80 tương ứng để quản lý khả năng hiển thị

Ví dụ API MongoDB

    cargo build
77 dành cho việc mô đun hóa trình xử lý API

    cargo build
78 là để mô đun hóa logic dữ liệu

    cargo build
79 là để mô đun hóa logic cơ sở dữ liệu

Thêm tham chiếu vào các Mô-đun
Để sử dụng mã trong các mô-đun, chúng ta cần khai báo chúng dưới dạng một mô-đun và nhập chúng vào tệp

    #[macro_use]
    extern crate rocket;
    use rocket::{get, http::Status, serde::json::Json};

    #[get("/")]
    fn hello() -> Result<Json<String>, Status> {
        Ok(Json(String::from("Hello from rust and mongoDB")))
    }

    #[launch]
    fn rocket() -> _ {
        rocket::build().mount("/", routes![hello])
    }
4.

    cargo build
8

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Thiết lập MongoDB

Khi đã xong, chúng ta cần đăng nhập hoặc đăng ký vào tài khoản MongoDB của mình. Nhấp vào menu thả xuống dự án và nhấp vào nút Dự án mới

Ví dụ API MongoDB

Nhập

    cargo build
85 làm tên dự án, nhấp vào Tiếp theo và nhấp vào Tạo dự án

Ví dụ API MongoDB

Ví dụ API MongoDB

Nhấp vào Xây dựng cơ sở dữ liệu

Ví dụ API MongoDB

Chọn Chia sẻ làm loại cơ sở dữ liệu

Ví dụ API MongoDB

Nhấp vào Tạo để thiết lập một cụm. Điều này đôi khi có thể mất thời gian để thiết lập

Ví dụ API MongoDB

Tiếp theo, chúng ta cần tạo một người dùng để truy cập cơ sở dữ liệu bên ngoài bằng cách nhập Tên người dùng, Mật khẩu rồi nhấp vào Tạo người dùng. Chúng tôi cũng cần thêm địa chỉ IP của mình để kết nối an toàn với cơ sở dữ liệu bằng cách nhấp vào nút Thêm địa chỉ IP hiện tại của tôi. Sau đó bấm vào Kết thúc và Đóng để lưu thay đổi

Ví dụ API MongoDB

Ví dụ API MongoDB

Khi lưu các thay đổi, chúng ta sẽ thấy màn hình Triển khai cơ sở dữ liệu, như hình bên dưới

Ví dụ API MongoDB

Kết nối ứng dụng của chúng tôi với MongoDB

Sau khi cấu hình xong, chúng ta cần kết nối ứng dụng của mình với cơ sở dữ liệu đã tạo. Để thực hiện việc này, hãy nhấp vào nút Kết nối

Ví dụ API MongoDB

Click vào Connect your application, đổi Driver thành

    cargo build
86 và Version như hình bên dưới. Sau đó bấm vào biểu tượng sao chép để sao chép chuỗi kết nối

Ví dụ API MongoDB

Ví dụ API MongoDB

Biến môi trường thiết lập
Tiếp theo, chúng ta phải sửa đổi chuỗi kết nối đã sao chép bằng mật khẩu của người dùng mà chúng ta đã tạo trước đó và thay đổi tên cơ sở dữ liệu. Để làm được điều này, trước tiên, chúng ta cần tạo một tệp

    cargo build
87 trong thư mục gốc và trong tệp này, hãy thêm đoạn mã đã sao chép.

    cargo build
7

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Mẫu của chuỗi kết nối được điền đúng bên dưới

    cargo build
8

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Tạo API REST

Sau khi thiết lập xong, chúng ta cần tạo một mô hình để biểu diễn dữ liệu ứng dụng của mình. Để làm điều này, chúng ta cần điều hướng đến thư mục

    cargo build
78 và trong thư mục này, hãy tạo tệp
    cargo build
89 và thêm đoạn mã bên dưới

    //other code section goes here

    [dependencies]
    rocket = {version = "0.5.0-rc.2", features = ["json"]}
    serde = "1.0.136"
    dotenv = "0.15.0"

    [dependencies.mongodb]
    version = "2.2.0"
    default-features = false
    features = ["sync"] 
1

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Đoạn mã trên thực hiện như sau

  • Nhập các phụ thuộc cần thiết
  • Sử dụng macro
        cargo build
    
    70 để tạo hỗ trợ triển khai để định dạng đầu ra, tuần tự hóa và giải tuần tự hóa cấu trúc dữ liệu
  • Tạo cấu trúc
        cargo build
    
    71 với các thuộc tính bắt buộc. Chúng tôi cũng đã thêm thuộc tính trường vào thuộc tính
        cargo build
    
    72 để đổi tên và bỏ qua trường nếu trường trống

Tái bút. Công cụ sửa đổi

    cargo build
73 làm cho cấu trúc và thuộc tính của nó trở nên công khai và có thể được truy cập từ các tệp/mô-đun khác

Tiếp theo, chúng ta phải đăng ký tệp

    cargo build
89 như một phần của mô-đun
    cargo build
78. Để thực hiện việc này, hãy mở
    cargo build
80 trong thư mục
    cargo build
78 và thêm đoạn mã bên dưới

    #[macro_use]
    extern crate rocket;
    use rocket::{get, http::Status, serde::json::Json};

    #[get("/")]
    fn hello() -> Result<Json<String>, Status> {
        Ok(Json(String::from("Hello from rust and mongoDB")))
    }

    #[launch]
    fn rocket() -> _ {
        rocket::build().mount("/", routes![hello])
    }
0

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Tạo điểm cuối người dùng
Với mô hình được thiết lập đầy đủ và có sẵn để sử dụng, giờ đây chúng tôi có thể tạo logic cơ sở dữ liệu của mình để tạo người dùng. Để làm điều này, Đầu tiên, chúng ta cần điều hướng đến thư mục

    cargo build
79 và trong thư mục này, hãy tạo một tệp
    cargo build
79 và thêm đoạn mã bên dưới.

    //other code section goes here

    [dependencies]
    rocket = {version = "0.5.0-rc.2", features = ["json"]}
    serde = "1.0.136"
    dotenv = "0.15.0"

    [dependencies.mongodb]
    version = "2.2.0"
    default-features = false
    features = ["sync"] 
0

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Đoạn mã trên thực hiện như sau

  • Nhập các phụ thuộc cần thiết
  • Tạo cấu trúc
        cargo build
    
    80 với trường
        cargo build
    
    81 để truy cập bộ sưu tập MongoDB
  • Tạo một khối triển khai bổ sung các phương thức vào cấu trúc
        cargo build
    
    80
  • Thêm phương thức
        cargo build
    
    83 vào khối triển khai để tải biến môi trường, tạo kết nối tới cơ sở dữ liệu và trả về một thể hiện của cấu trúc
        cargo build
    
    80
  • Thêm một phương thức
        cargo build
    
    85 lấy một
        cargo build
    
    86 và
        cargo build
    
    87 làm tham số và trả về người dùng đã tạo hoặc một lỗi. Bên trong phương thức, chúng tôi đã tạo một tài liệu mới bằng cách sử dụng cấu trúc
        cargo build
    
    71. Sau đó, chúng tôi sử dụng
        cargo build
    
    86 tham chiếu cấu trúc
        cargo build
    
    80 để truy cập hàm
        //other code section goes here
    
        [dependencies]
        rocket = {version = "0.5.0-rc.2", features = ["json"]}
        serde = "1.0.136"
        dotenv = "0.15.0"
    
        [dependencies.mongodb]
        version = "2.2.0"
        default-features = false
        features = ["sync"] 
    
    11 từ bộ sưu tập để tạo người dùng mới và xử lý lỗi. Cuối cùng, chúng tôi đã trả lại thông tin người dùng đã tạo

Tái bút.

    //other code section goes here

    [dependencies]
    rocket = {version = "0.5.0-rc.2", features = ["json"]}
    serde = "1.0.136"
    dotenv = "0.15.0"

    [dependencies.mongodb]
    version = "2.2.0"
    default-features = false
    features = ["sync"] 
12 được chỉ định khi tạo tài liệu mới yêu cầu MongoDB tự động tạo id của người dùng

Tiếp theo, chúng ta phải đăng ký tệp

    cargo build
79 như một phần của mô-đun
    cargo build
79. Để thực hiện việc này, hãy mở
    cargo build
80 trong thư mục
    cargo build
79 và thêm đoạn mã bên dưới

    //other code section goes here

    [dependencies]
    rocket = {version = "0.5.0-rc.2", features = ["json"]}
    serde = "1.0.136"
    dotenv = "0.15.0"

    [dependencies.mongodb]
    version = "2.2.0"
    default-features = false
    features = ["sync"] 
1

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Thứ hai, chúng ta cần tạo một trình xử lý sử dụng phương thức

    cargo build
85 từ
    cargo build
79 để tạo người dùng. Để làm điều này, chúng ta cần điều hướng đến thư mục
    cargo build
77 và trong thư mục này, hãy tạo tệp
    #[macro_use]
    extern crate rocket;
    use rocket::{get, http::Status, serde::json::Json};

    #[get("/")]
    fn hello() -> Result<Json<String>, Status> {
        Ok(Json(String::from("Hello from rust and mongoDB")))
    }

    #[launch]
    fn rocket() -> _ {
        rocket::build().mount("/", routes![hello])
    }
00 và thêm đoạn mã bên dưới

    //other code section goes here

    [dependencies]
    rocket = {version = "0.5.0-rc.2", features = ["json"]}
    serde = "1.0.136"
    dotenv = "0.15.0"

    [dependencies.mongodb]
    version = "2.2.0"
    default-features = false
    features = ["sync"] 
2

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Đoạn mã trên thực hiện như sau

  • Nhập các phụ thuộc cần thiết
  • Sử dụng macro định tuyến để chỉ định phương thức HTTP, định tuyến và chỉ ra rằng trình xử lý mong đợi dữ liệu nội dung
  • Tạo một trình xử lý
        cargo build
    
    85 lấy
        #[macro_use]
        extern crate rocket;
        use rocket::{get, http::Status, serde::json::Json};
    
        #[get("/")]
        fn hello() -> Result<Json<String>, Status> {
            Ok(Json(String::from("Hello from rust and mongoDB")))
        }
    
        #[launch]
        fn rocket() -> _ {
            rocket::build().mount("/", routes![hello])
        }
    
    02, một loại cho
        cargo build
    
    80 và một
        cargo build
    
    87 làm tham số. Bên trong trình xử lý, chúng tôi đã tạo một biến
        #[macro_use]
        extern crate rocket;
        use rocket::{get, http::Status, serde::json::Json};
    
        #[get("/")]
        fn hello() -> Result<Json<String>, Status> {
            Ok(Json(String::from("Hello from rust and mongoDB")))
        }
    
        #[launch]
        fn rocket() -> _ {
            rocket::build().mount("/", routes![hello])
        }
    
    05 để tạo người dùng, chèn nó vào cơ sở dữ liệu bằng phương thức
        #[macro_use]
        extern crate rocket;
        use rocket::{get, http::Status, serde::json::Json};
    
        #[get("/")]
        fn hello() -> Result<Json<String>, Status> {
            Ok(Json(String::from("Hello from rust and mongoDB")))
        }
    
        #[launch]
        fn rocket() -> _ {
            rocket::build().mount("/", routes![hello])
        }
    
    06 và trả về phản hồi chính xác nếu việc chèn thành công hoặc lỗi nếu có

Tái bút. Cấu trúc

    #[macro_use]
    extern crate rocket;
    use rocket::{get, http::Status, serde::json::Json};

    #[get("/")]
    fn hello() -> Result<Json<String>, Status> {
        Ok(Json(String::from("Hello from rust and mongoDB")))
    }

    #[launch]
    fn rocket() -> _ {
        rocket::build().mount("/", routes![hello])
    }
07 và
    #[macro_use]
    extern crate rocket;
    use rocket::{get, http::Status, serde::json::Json};

    #[get("/")]
    fn hello() -> Result<Json<String>, Status> {
        Ok(Json(String::from("Hello from rust and mongoDB")))
    }

    #[launch]
    fn rocket() -> _ {
        rocket::build().mount("/", routes![hello])
    }
08 được sử dụng để xác định tham số là để quản lý trạng thái ứng dụng được chia sẻ trên các tuyến và trích xuất dữ liệu JSON từ tải trọng yêu cầu, tương ứng

Cuối cùng, chúng tôi cần sửa đổi điểm nhập ứng dụng của bạn để bao gồm trình xử lý ________ 385. Để làm điều này, chúng ta cần điều hướng đến tệp

    #[macro_use]
    extern crate rocket;
    use rocket::{get, http::Status, serde::json::Json};

    #[get("/")]
    fn hello() -> Result<Json<String>, Status> {
        Ok(Json(String::from("Hello from rust and mongoDB")))
    }

    #[launch]
    fn rocket() -> _ {
        rocket::build().mount("/", routes![hello])
    }
4 và sửa đổi nó như hình bên dưới

    //other code section goes here

    [dependencies]
    rocket = {version = "0.5.0-rc.2", features = ["json"]}
    serde = "1.0.136"
    dotenv = "0.15.0"

    [dependencies.mongodb]
    version = "2.2.0"
    default-features = false
    features = ["sync"] 
3

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Đoạn mã trên thực hiện như sau

  • Nhập các phụ thuộc cần thiết
  • Tạo biến
        #[macro_use]
        extern crate rocket;
        use rocket::{get, http::Status, serde::json::Json};
    
        #[get("/")]
        fn hello() -> Result<Json<String>, Status> {
            Ok(Json(String::from("Hello from rust and mongoDB")))
        }
    
        #[launch]
        fn rocket() -> _ {
            rocket::build().mount("/", routes![hello])
        }
    
    02 để thiết lập kết nối với MongoDB bằng cách gọi phương thức
        //other code section goes here
    
        [dependencies]
        rocket = {version = "0.5.0-rc.2", features = ["json"]}
        serde = "1.0.136"
        dotenv = "0.15.0"
    
        [dependencies.mongodb]
        version = "2.2.0"
        default-features = false
        features = ["sync"] 
    
    02 và thêm nó vào hàm
        //other code section goes here
    
        [dependencies]
        rocket = {version = "0.5.0-rc.2", features = ["json"]}
        serde = "1.0.136"
        dotenv = "0.15.0"
    
        [dependencies.mongodb]
        version = "2.2.0"
        default-features = false
        features = ["sync"] 
    
    03 để cung cấp trạng thái cơ sở dữ liệu trên phạm vi ứng dụng
  • Sử dụng hàm
        //other code section goes here
    
        [dependencies]
        rocket = {version = "0.5.0-rc.2", features = ["json"]}
        serde = "1.0.136"
        dotenv = "0.15.0"
    
        [dependencies.mongodb]
        version = "2.2.0"
        default-features = false
        features = ["sync"] 
    
    04 và
        //other code section goes here
    
        [dependencies]
        rocket = {version = "0.5.0-rc.2", features = ["json"]}
        serde = "1.0.136"
        dotenv = "0.15.0"
    
        [dependencies.mongodb]
        version = "2.2.0"
        default-features = false
        features = ["sync"] 
    
    05 để thêm dữ liệu ứng dụng và trình xử lý vào phiên bản
        //other code section goes here
    
        [dependencies]
        rocket = {version = "0.5.0-rc.2", features = ["json"]}
        serde = "1.0.136"
        dotenv = "0.15.0"
    
        [dependencies.mongodb]
        version = "2.2.0"
        default-features = false
        features = ["sync"] 
    
    06

Lấy điểm cuối của người dùng
Để lấy thông tin chi tiết về người dùng, trước tiên chúng tôi phải sửa đổi tệp

    cargo build
79 bằng cách thêm phương thức
    //other code section goes here

    [dependencies]
    rocket = {version = "0.5.0-rc.2", features = ["json"]}
    serde = "1.0.136"
    dotenv = "0.15.0"

    [dependencies.mongodb]
    version = "2.2.0"
    default-features = false
    features = ["sync"] 
08 vào khối triển khai.

    //other code section goes here

    [dependencies]
    rocket = {version = "0.5.0-rc.2", features = ["json"]}
    serde = "1.0.136"
    dotenv = "0.15.0"

    [dependencies.mongodb]
    version = "2.2.0"
    default-features = false
    features = ["sync"] 
4

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Đoạn mã trên thực hiện như sau

  • Sửa đổi các phụ thuộc để bao gồm
        //other code section goes here
    
        [dependencies]
        rocket = {version = "0.5.0-rc.2", features = ["json"]}
        serde = "1.0.136"
        dotenv = "0.15.0"
    
        [dependencies.mongodb]
        version = "2.2.0"
        default-features = false
        features = ["sync"] 
    
    09 và
        //other code section goes here
    
        [dependencies]
        rocket = {version = "0.5.0-rc.2", features = ["json"]}
        serde = "1.0.136"
        dotenv = "0.15.0"
    
        [dependencies.mongodb]
        version = "2.2.0"
        default-features = false
        features = ["sync"] 
    
    10
  • Thêm một phương thức
        //other code section goes here
    
        [dependencies]
        rocket = {version = "0.5.0-rc.2", features = ["json"]}
        serde = "1.0.136"
        dotenv = "0.15.0"
    
        [dependencies.mongodb]
        version = "2.2.0"
        default-features = false
        features = ["sync"] 
    
    08 lấy một
        cargo build
    
    86 và
        cargo build
    
    72 làm tham số và trả về chi tiết người dùng hoặc một lỗi. Trong phương thức này, chúng tôi đã chuyển đổi
        cargo build
    
    72 thành
        //other code section goes here
    
        [dependencies]
        rocket = {version = "0.5.0-rc.2", features = ["json"]}
        serde = "1.0.136"
        dotenv = "0.15.0"
    
        [dependencies.mongodb]
        version = "2.2.0"
        default-features = false
        features = ["sync"] 
    
    15 và sử dụng nó làm bộ lọc để lấy tài liệu phù hợp. Sau đó, chúng tôi sử dụng
        cargo build
    
    86 tham chiếu cấu trúc
        cargo build
    
    80 để truy cập hàm
        //other code section goes here
    
        [dependencies]
        rocket = {version = "0.5.0-rc.2", features = ["json"]}
        serde = "1.0.136"
        dotenv = "0.15.0"
    
        [dependencies.mongodb]
        version = "2.2.0"
        default-features = false
        features = ["sync"] 
    
    18 từ bộ sưu tập để lấy thông tin chi tiết về người dùng và xử lý lỗi. Cuối cùng, chúng tôi đã trả lại thông tin người dùng đã tạo

Thứ hai, chúng ta cần sửa đổi

    #[macro_use]
    extern crate rocket;
    use rocket::{get, http::Status, serde::json::Json};

    #[get("/")]
    fn hello() -> Result<Json<String>, Status> {
        Ok(Json(String::from("Hello from rust and mongoDB")))
    }

    #[launch]
    fn rocket() -> _ {
        rocket::build().mount("/", routes![hello])
    }
00 bằng cách tạo một trình xử lý sử dụng phương thức
    //other code section goes here

    [dependencies]
    rocket = {version = "0.5.0-rc.2", features = ["json"]}
    serde = "1.0.136"
    dotenv = "0.15.0"

    [dependencies.mongodb]
    version = "2.2.0"
    default-features = false
    features = ["sync"] 
08 từ
    cargo build
79 để có được một người dùng

    //other code section goes here

    [dependencies]
    rocket = {version = "0.5.0-rc.2", features = ["json"]}
    serde = "1.0.136"
    dotenv = "0.15.0"

    [dependencies.mongodb]
    version = "2.2.0"
    default-features = false
    features = ["sync"] 
5

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Đoạn mã trên thực hiện như sau

  • Sử dụng macro định tuyến để chỉ định phương thức HTTP, tuyến tương ứng và tham số tuyến
  • Tạo một trình xử lý
        //other code section goes here
    
        [dependencies]
        rocket = {version = "0.5.0-rc.2", features = ["json"]}
        serde = "1.0.136"
        dotenv = "0.15.0"
    
        [dependencies.mongodb]
        version = "2.2.0"
        default-features = false
        features = ["sync"] 
    
    08 nhận vào
        #[macro_use]
        extern crate rocket;
        use rocket::{get, http::Status, serde::json::Json};
    
        #[get("/")]
        fn hello() -> Result<Json<String>, Status> {
            Ok(Json(String::from("Hello from rust and mongoDB")))
        }
    
        #[launch]
        fn rocket() -> _ {
            rocket::build().mount("/", routes![hello])
        }
    
    02, một loại cho
        cargo build
    
    80 và một
        //other code section goes here
    
        [dependencies]
        rocket = {version = "0.5.0-rc.2", features = ["json"]}
        serde = "1.0.136"
        dotenv = "0.15.0"
    
        [dependencies.mongodb]
        version = "2.2.0"
        default-features = false
        features = ["sync"] 
    
    25 để truy cập đường dẫn tuyến đường dưới dạng tham số. Bên trong handler, chúng ta đã tạo một biến
        cargo build
    
    72 để lấy id của người dùng, lấy thông tin chi tiết của người dùng từ cơ sở dữ liệu bằng phương thức
        //other code section goes here
    
        [dependencies]
        rocket = {version = "0.5.0-rc.2", features = ["json"]}
        serde = "1.0.136"
        dotenv = "0.15.0"
    
        [dependencies.mongodb]
        version = "2.2.0"
        default-features = false
        features = ["sync"] 
    
    27. Chúng tôi đã trả lại phản hồi chính xác nếu yêu cầu thành công hoặc lỗi nếu có

Cuối cùng, chúng tôi cần sửa đổi điểm nhập ứng dụng của mình (

    #[macro_use]
    extern crate rocket;
    use rocket::{get, http::Status, serde::json::Json};

    #[get("/")]
    fn hello() -> Result<Json<String>, Status> {
        Ok(Json(String::from("Hello from rust and mongoDB")))
    }

    #[launch]
    fn rocket() -> _ {
        rocket::build().mount("/", routes![hello])
    }
4) để bao gồm trình xử lý
    //other code section goes here

    [dependencies]
    rocket = {version = "0.5.0-rc.2", features = ["json"]}
    serde = "1.0.136"
    dotenv = "0.15.0"

    [dependencies.mongodb]
    version = "2.2.0"
    default-features = false
    features = ["sync"] 
08 bằng cách nhập trình xử lý và thêm một dịch vụ mới cho nó

    //other code section goes here

    [dependencies]
    rocket = {version = "0.5.0-rc.2", features = ["json"]}
    serde = "1.0.136"
    dotenv = "0.15.0"

    [dependencies.mongodb]
    version = "2.2.0"
    default-features = false
    features = ["sync"] 
6

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Chỉnh sửa điểm cuối của người dùng
Để chỉnh sửa người dùng, trước tiên chúng tôi phải sửa đổi tệp

    cargo build
79 bằng cách thêm phương thức
    //other code section goes here

    [dependencies]
    rocket = {version = "0.5.0-rc.2", features = ["json"]}
    serde = "1.0.136"
    dotenv = "0.15.0"

    [dependencies.mongodb]
    version = "2.2.0"
    default-features = false
    features = ["sync"] 
31 vào khối triển khai.

    //other code section goes here

    [dependencies]
    rocket = {version = "0.5.0-rc.2", features = ["json"]}
    serde = "1.0.136"
    dotenv = "0.15.0"

    [dependencies.mongodb]
    version = "2.2.0"
    default-features = false
    features = ["sync"] 
7

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Đoạn mã trên thực hiện như sau

  • Sửa đổi các phụ thuộc để bao gồm
        //other code section goes here
    
        [dependencies]
        rocket = {version = "0.5.0-rc.2", features = ["json"]}
        serde = "1.0.136"
        dotenv = "0.15.0"
    
        [dependencies.mongodb]
        version = "2.2.0"
        default-features = false
        features = ["sync"] 
    
    32
  • Thêm phương thức
        //other code section goes here
    
        [dependencies]
        rocket = {version = "0.5.0-rc.2", features = ["json"]}
        serde = "1.0.136"
        dotenv = "0.15.0"
    
        [dependencies.mongodb]
        version = "2.2.0"
        default-features = false
        features = ["sync"] 
    
    33 nhận tham số
        cargo build
    
    86,
        cargo build
    
    72 và
        cargo build
    
    87 và trả về chi tiết người dùng được cập nhật hoặc lỗi. Bên trong phương thức này, chúng tôi đã chuyển đổi
        cargo build
    
    72 thành
        //other code section goes here
    
        [dependencies]
        rocket = {version = "0.5.0-rc.2", features = ["json"]}
        serde = "1.0.136"
        dotenv = "0.15.0"
    
        [dependencies.mongodb]
        version = "2.2.0"
        default-features = false
        features = ["sync"] 
    
    15, tạo biến
        //other code section goes here
    
        [dependencies]
        rocket = {version = "0.5.0-rc.2", features = ["json"]}
        serde = "1.0.136"
        dotenv = "0.15.0"
    
        [dependencies.mongodb]
        version = "2.2.0"
        default-features = false
        features = ["sync"] 
    
    39 để lấy tài liệu phù hợp mà chúng tôi muốn cập nhật và sử dụng macro
        //other code section goes here
    
        [dependencies]
        rocket = {version = "0.5.0-rc.2", features = ["json"]}
        serde = "1.0.136"
        dotenv = "0.15.0"
    
        [dependencies.mongodb]
        version = "2.2.0"
        default-features = false
        features = ["sync"] 
    
    10 để cập nhật các trường tài liệu. Sau đó, chúng tôi sử dụng
        cargo build
    
    86 tham chiếu cấu trúc
        cargo build
    
    80 để truy cập hàm
        //other code section goes here
    
        [dependencies]
        rocket = {version = "0.5.0-rc.2", features = ["json"]}
        serde = "1.0.136"
        dotenv = "0.15.0"
    
        [dependencies.mongodb]
        version = "2.2.0"
        default-features = false
        features = ["sync"] 
    
    43 từ bộ sưu tập để cập nhật người dùng phù hợp với
        //other code section goes here
    
        [dependencies]
        rocket = {version = "0.5.0-rc.2", features = ["json"]}
        serde = "1.0.136"
        dotenv = "0.15.0"
    
        [dependencies.mongodb]
        version = "2.2.0"
        default-features = false
        features = ["sync"] 
    
    39 đã chỉ định và xử lý lỗi. Cuối cùng, chúng tôi đã trả lại thông tin người dùng đã cập nhật

Thứ hai, chúng ta cần sửa đổi

    #[macro_use]
    extern crate rocket;
    use rocket::{get, http::Status, serde::json::Json};

    #[get("/")]
    fn hello() -> Result<Json<String>, Status> {
        Ok(Json(String::from("Hello from rust and mongoDB")))
    }

    #[launch]
    fn rocket() -> _ {
        rocket::build().mount("/", routes![hello])
    }
00 bằng cách tạo một trình xử lý sử dụng phương thức
    //other code section goes here

    [dependencies]
    rocket = {version = "0.5.0-rc.2", features = ["json"]}
    serde = "1.0.136"
    dotenv = "0.15.0"

    [dependencies.mongodb]
    version = "2.2.0"
    default-features = false
    features = ["sync"] 
33 từ
    cargo build
79 để cập nhật người dùng

    //other code section goes here

    [dependencies]
    rocket = {version = "0.5.0-rc.2", features = ["json"]}
    serde = "1.0.136"
    dotenv = "0.15.0"

    [dependencies.mongodb]
    version = "2.2.0"
    default-features = false
    features = ["sync"] 
8

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Đoạn mã trên thực hiện như sau

  • Sửa đổi các phụ thuộc để bao gồm
        //other code section goes here
    
        [dependencies]
        rocket = {version = "0.5.0-rc.2", features = ["json"]}
        serde = "1.0.136"
        dotenv = "0.15.0"
    
        [dependencies.mongodb]
        version = "2.2.0"
        default-features = false
        features = ["sync"] 
    
    15
  • Sử dụng macro định tuyến để chỉ định phương thức HTTP, tuyến tương ứng, tham số tuyến và dữ liệu nội dung
  • Tạo một trình xử lý
        //other code section goes here
    
        [dependencies]
        rocket = {version = "0.5.0-rc.2", features = ["json"]}
        serde = "1.0.136"
        dotenv = "0.15.0"
    
        [dependencies.mongodb]
        version = "2.2.0"
        default-features = false
        features = ["sync"] 
    
    33 nhận vào
        #[macro_use]
        extern crate rocket;
        use rocket::{get, http::Status, serde::json::Json};
    
        #[get("/")]
        fn hello() -> Result<Json<String>, Status> {
            Ok(Json(String::from("Hello from rust and mongoDB")))
        }
    
        #[launch]
        fn rocket() -> _ {
            rocket::build().mount("/", routes![hello])
        }
    
    02, một loại cho
        cargo build
    
    80,
        //other code section goes here
    
        [dependencies]
        rocket = {version = "0.5.0-rc.2", features = ["json"]}
        serde = "1.0.136"
        dotenv = "0.15.0"
    
        [dependencies.mongodb]
        version = "2.2.0"
        default-features = false
        features = ["sync"] 
    
    25 và
        cargo build
    
    87 làm tham số. Bên trong trình xử lý, chúng tôi đã tạo một biến
        cargo build
    
    72 để lấy id của người dùng, cập nhật thông tin chi tiết của người dùng từ cơ sở dữ liệu bằng cách sử dụng phương thức
        //other code section goes here
    
        [dependencies]
        rocket = {version = "0.5.0-rc.2", features = ["json"]}
        serde = "1.0.136"
        dotenv = "0.15.0"
    
        [dependencies.mongodb]
        version = "2.2.0"
        default-features = false
        features = ["sync"] 
    
    55 bằng cách chuyển thông tin của người dùng đã cập nhật. Cuối cùng chúng ta kiểm tra update thành công chưa và trả về user đã cập nhật hoặc báo lỗi nếu có

Cuối cùng, chúng tôi cần sửa đổi điểm nhập ứng dụng của mình (

    #[macro_use]
    extern crate rocket;
    use rocket::{get, http::Status, serde::json::Json};

    #[get("/")]
    fn hello() -> Result<Json<String>, Status> {
        Ok(Json(String::from("Hello from rust and mongoDB")))
    }

    #[launch]
    fn rocket() -> _ {
        rocket::build().mount("/", routes![hello])
    }
4) để bao gồm trình xử lý
    //other code section goes here

    [dependencies]
    rocket = {version = "0.5.0-rc.2", features = ["json"]}
    serde = "1.0.136"
    dotenv = "0.15.0"

    [dependencies.mongodb]
    version = "2.2.0"
    default-features = false
    features = ["sync"] 
33 bằng cách nhập trình xử lý và thêm một dịch vụ mới cho nó

    //other code section goes here

    [dependencies]
    rocket = {version = "0.5.0-rc.2", features = ["json"]}
    serde = "1.0.136"
    dotenv = "0.15.0"

    [dependencies.mongodb]
    version = "2.2.0"
    default-features = false
    features = ["sync"] 
9

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Xóa điểm cuối người dùng
Để xóa người dùng, trước tiên chúng tôi phải sửa đổi tệp

    cargo build
79 bằng cách thêm phương thức
    //other code section goes here

    [dependencies]
    rocket = {version = "0.5.0-rc.2", features = ["json"]}
    serde = "1.0.136"
    dotenv = "0.15.0"

    [dependencies.mongodb]
    version = "2.2.0"
    default-features = false
    features = ["sync"] 
59 vào khối triển khai.

    cargo build
0

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Đoạn mã trên thực hiện như sau

  • Sửa đổi các phụ thuộc để bao gồm
        //other code section goes here
    
        [dependencies]
        rocket = {version = "0.5.0-rc.2", features = ["json"]}
        serde = "1.0.136"
        dotenv = "0.15.0"
    
        [dependencies.mongodb]
        version = "2.2.0"
        default-features = false
        features = ["sync"] 
    
    60
  • Thêm một phương thức
        //other code section goes here
    
        [dependencies]
        rocket = {version = "0.5.0-rc.2", features = ["json"]}
        serde = "1.0.136"
        dotenv = "0.15.0"
    
        [dependencies.mongodb]
        version = "2.2.0"
        default-features = false
        features = ["sync"] 
    
    59 lấy một
        cargo build
    
    86 và
        cargo build
    
    72 làm tham số và trả về chi tiết người dùng đã xóa hoặc một lỗi. Bên trong phương thức, chúng tôi đã chuyển đổi
        cargo build
    
    72 thành
        //other code section goes here
    
        [dependencies]
        rocket = {version = "0.5.0-rc.2", features = ["json"]}
        serde = "1.0.136"
        dotenv = "0.15.0"
    
        [dependencies.mongodb]
        version = "2.2.0"
        default-features = false
        features = ["sync"] 
    
    15 và tạo một biến
        //other code section goes here
    
        [dependencies]
        rocket = {version = "0.5.0-rc.2", features = ["json"]}
        serde = "1.0.136"
        dotenv = "0.15.0"
    
        [dependencies.mongodb]
        version = "2.2.0"
        default-features = false
        features = ["sync"] 
    
    39 để lấy tài liệu phù hợp mà chúng tôi muốn xóa. Sau đó, chúng tôi sử dụng
        cargo build
    
    86 tham chiếu cấu trúc
        cargo build
    
    80 để truy cập hàm
        //other code section goes here
    
        [dependencies]
        rocket = {version = "0.5.0-rc.2", features = ["json"]}
        serde = "1.0.136"
        dotenv = "0.15.0"
    
        [dependencies.mongodb]
        version = "2.2.0"
        default-features = false
        features = ["sync"] 
    
    69 từ bộ sưu tập để xóa người dùng khớp với
        //other code section goes here
    
        [dependencies]
        rocket = {version = "0.5.0-rc.2", features = ["json"]}
        serde = "1.0.136"
        dotenv = "0.15.0"
    
        [dependencies.mongodb]
        version = "2.2.0"
        default-features = false
        features = ["sync"] 
    
    39 đã chỉ định và xử lý lỗi. Finally, we returned the deleted user information

Thứ hai, chúng ta cần sửa đổi

    #[macro_use]
    extern crate rocket;
    use rocket::{get, http::Status, serde::json::Json};

    #[get("/")]
    fn hello() -> Result<Json<String>, Status> {
        Ok(Json(String::from("Hello from rust and mongoDB")))
    }

    #[launch]
    fn rocket() -> _ {
        rocket::build().mount("/", routes![hello])
    }
00 bằng cách tạo một trình xử lý sử dụng phương thức
    //other code section goes here

    [dependencies]
    rocket = {version = "0.5.0-rc.2", features = ["json"]}
    serde = "1.0.136"
    dotenv = "0.15.0"

    [dependencies.mongodb]
    version = "2.2.0"
    default-features = false
    features = ["sync"] 
59 từ
    cargo build
79 để xóa người dùng

    cargo build
1

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Đoạn mã trên thực hiện như sau

  • Sử dụng macro định tuyến để chỉ định phương thức HTTP, tuyến tương ứng và tham số tuyến
  • Tạo một trình xử lý
        //other code section goes here
    
        [dependencies]
        rocket = {version = "0.5.0-rc.2", features = ["json"]}
        serde = "1.0.136"
        dotenv = "0.15.0"
    
        [dependencies.mongodb]
        version = "2.2.0"
        default-features = false
        features = ["sync"] 
    
    59 nhận vào
        #[macro_use]
        extern crate rocket;
        use rocket::{get, http::Status, serde::json::Json};
    
        #[get("/")]
        fn hello() -> Result<Json<String>, Status> {
            Ok(Json(String::from("Hello from rust and mongoDB")))
        }
    
        #[launch]
        fn rocket() -> _ {
            rocket::build().mount("/", routes![hello])
        }
    
    02, một loại cho
        cargo build
    
    80 và
        //other code section goes here
    
        [dependencies]
        rocket = {version = "0.5.0-rc.2", features = ["json"]}
        serde = "1.0.136"
        dotenv = "0.15.0"
    
        [dependencies.mongodb]
        version = "2.2.0"
        default-features = false
        features = ["sync"] 
    
    25 làm tham số. Bên trong trình xử lý, chúng tôi đã tạo một biến
        cargo build
    
    72 để lấy id của người dùng và xóa người dùng khỏi cơ sở dữ liệu bằng phương thức
        //other code section goes here
    
        [dependencies]
        rocket = {version = "0.5.0-rc.2", features = ["json"]}
        serde = "1.0.136"
        dotenv = "0.15.0"
    
        [dependencies.mongodb]
        version = "2.2.0"
        default-features = false
        features = ["sync"] 
    
    79 bằng cách chuyển vào
        cargo build
    
    72. Cuối cùng, chúng tôi đã trả lại phản hồi thích hợp hoặc lỗi nếu có

Cuối cùng, chúng tôi cần sửa đổi điểm nhập ứng dụng của mình (

    #[macro_use]
    extern crate rocket;
    use rocket::{get, http::Status, serde::json::Json};

    #[get("/")]
    fn hello() -> Result<Json<String>, Status> {
        Ok(Json(String::from("Hello from rust and mongoDB")))
    }

    #[launch]
    fn rocket() -> _ {
        rocket::build().mount("/", routes![hello])
    }
4) để bao gồm trình xử lý
    //other code section goes here

    [dependencies]
    rocket = {version = "0.5.0-rc.2", features = ["json"]}
    serde = "1.0.136"
    dotenv = "0.15.0"

    [dependencies.mongodb]
    version = "2.2.0"
    default-features = false
    features = ["sync"] 
59 bằng cách nhập trình xử lý và thêm một dịch vụ mới cho nó

    cargo build
2

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Lấy tất cả điểm cuối của người dùng
Để lấy danh sách người dùng, trước tiên chúng tôi phải sửa đổi tệp

    cargo build
79 bằng cách thêm phương thức
    //other code section goes here

    [dependencies]
    rocket = {version = "0.5.0-rc.2", features = ["json"]}
    serde = "1.0.136"
    dotenv = "0.15.0"

    [dependencies.mongodb]
    version = "2.2.0"
    default-features = false
    features = ["sync"] 
84 vào khối triển khai.

    cargo build
3

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Đoạn mã trên thêm phương thức

    //other code section goes here

    [dependencies]
    rocket = {version = "0.5.0-rc.2", features = ["json"]}
    serde = "1.0.136"
    dotenv = "0.15.0"

    [dependencies.mongodb]
    version = "2.2.0"
    default-features = false
    features = ["sync"] 
84 lấy tham số
    cargo build
86 làm tham số và trả về danh sách người dùng hoặc lỗi. Bên trong phương thức, chúng tôi sử dụng
    cargo build
86 tham chiếu cấu trúc
    cargo build
80 để truy cập hàm
    //other code section goes here

    [dependencies]
    rocket = {version = "0.5.0-rc.2", features = ["json"]}
    serde = "1.0.136"
    dotenv = "0.15.0"

    [dependencies.mongodb]
    version = "2.2.0"
    default-features = false
    features = ["sync"] 
89 từ bộ sưu tập mà không có bất kỳ bộ lọc nào để nó có thể khớp với tất cả các tài liệu bên trong cơ sở dữ liệu và xử lý lỗi. Cuối cùng, chúng tôi đã trả lại danh sách người dùng

Thứ hai, chúng ta cần sửa đổi

    #[macro_use]
    extern crate rocket;
    use rocket::{get, http::Status, serde::json::Json};

    #[get("/")]
    fn hello() -> Result<Json<String>, Status> {
        Ok(Json(String::from("Hello from rust and mongoDB")))
    }

    #[launch]
    fn rocket() -> _ {
        rocket::build().mount("/", routes![hello])
    }
00 bằng cách tạo một trình xử lý sử dụng phương thức
    //other code section goes here

    [dependencies]
    rocket = {version = "0.5.0-rc.2", features = ["json"]}
    serde = "1.0.136"
    dotenv = "0.15.0"

    [dependencies.mongodb]
    version = "2.2.0"
    default-features = false
    features = ["sync"] 
84 từ
    cargo build
79 để lấy danh sách người dùng

    cargo build
4

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Đoạn mã trên thực hiện như sau

  • Sử dụng macro định tuyến để chỉ định phương thức HTTP và tuyến đường tương ứng
  • Tạo trình xử lý
        //other code section goes here
    
        [dependencies]
        rocket = {version = "0.5.0-rc.2", features = ["json"]}
        serde = "1.0.136"
        dotenv = "0.15.0"
    
        [dependencies.mongodb]
        version = "2.2.0"
        default-features = false
        features = ["sync"] 
    
    84 sử dụng phương thức
        //other code section goes here
    
        [dependencies]
        rocket = {version = "0.5.0-rc.2", features = ["json"]}
        serde = "1.0.136"
        dotenv = "0.15.0"
    
        [dependencies.mongodb]
        version = "2.2.0"
        default-features = false
        features = ["sync"] 
    
    79 để lấy danh sách người dùng. Sau đó, chúng tôi trả lại danh sách người dùng hoặc lỗi nếu có

Cuối cùng, chúng tôi cần sửa đổi điểm nhập ứng dụng của mình (

    #[macro_use]
    extern crate rocket;
    use rocket::{get, http::Status, serde::json::Json};

    #[get("/")]
    fn hello() -> Result<Json<String>, Status> {
        Ok(Json(String::from("Hello from rust and mongoDB")))
    }

    #[launch]
    fn rocket() -> _ {
        rocket::build().mount("/", routes![hello])
    }
4) để bao gồm trình xử lý
    //other code section goes here

    [dependencies]
    rocket = {version = "0.5.0-rc.2", features = ["json"]}
    serde = "1.0.136"
    dotenv = "0.15.0"

    [dependencies.mongodb]
    version = "2.2.0"
    default-features = false
    features = ["sync"] 
84 bằng cách nhập trình xử lý và thêm một dịch vụ mới cho nó

    cargo build
5

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Khi đã xong, chúng tôi có thể kiểm tra ứng dụng của mình bằng cách chạy lệnh bên dưới trong thiết bị đầu cuối của chúng tôi

    cargo build
7

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Ví dụ API MongoDB

Ví dụ API MongoDB

Ví dụ API MongoDB

Ví dụ API MongoDB

Ví dụ API MongoDB

Ví dụ API MongoDB

Sự kết luận

Bài đăng này đã thảo luận về cách mô đun hóa ứng dụng Rust, xây dựng API REST và duy trì dữ liệu của chúng tôi bằng MongoDB

MongoDB có API không?

MongoDB Atlas API cho phép bạn truy cập dữ liệu đám mây của mình theo chương trình chỉ với một vài cấu hình. Với API dữ liệu Atlas mới, bạn có thể dễ dàng xây dựng các vi dịch vụ tập trung vào dữ liệu hoặc tích hợp với các dịch vụ của bên thứ ba—các tác vụ trước đây được coi là tẻ nhạt

Làm cách nào để viết API cho MongoDB?

Bước 1. Thiết lập dự án
Bước 2. Cài đặt phụ thuộc ứng dụng
Bước 3. Mã vận hành
Bước 4. Ứng dụng thử nghiệm cho MongoDB REST API
Bước 5. Thiết lập kết nối với MongoDB REST API
Bước 6. Xây dựng điểm cuối API MongoDB REST
Bước 7. Kiểm tra API MongoDB REST

Làm cách nào để sử dụng API dữ liệu trong MongoDB?

Tất cả những gì bạn cần là ứng dụng khách HTTPS và khóa API hợp lệ. API dữ liệu cho phép truy cập dữ liệu vào MongoDB Atlas từ nhiều môi trường mà trình điều khiển không thể thực hiện được hoặc không thực tế. .
Chọn cụm của bạn
Bật API dữ liệu
Định cấu hình xác thực API
Gửi yêu cầu đầu tiên của bạn

Làm cách nào để lưu trữ dữ liệu API trong MongoDB?

API, Mô tả. yêu cầu. thân hình. .
trước tiên hãy nhập mô-đun HTTPS để gửi yêu cầu nhận HTTPS
tạo một mảng để giữ khối đệm
Khi tất cả các khối được nhận hoàn toàn, hãy nối các khối này
lưu dữ liệu được nối trên DB