Skip to content

lastemp/mysql

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mysql

This RESTful Actix Web API examples illustrates how to connect to MySQL database using Mysql client library implemented in rust i.e MySql database driver

Below APIs are supported:

  • Add Bank
  • Add Branch
  • Add Teller
  • Add Customer
  • Get Bank
  • Get Branch
  • Get Teller
  • Get Customer

The RESTful Actix Web API has below listed dependencies:

  • Actix Web web framework for Rust
  • Serde for serializing and deserializing Rust data structures
  • MySQL MySQL database server
  • mysql MySql database driver

Instructions

NOTE:

You may need to ensure that you are running the commands with the correct MySQL user/password.

  1. Access MySQL Server

    Log in to the MySQL Server using a user account that has the CREATE DATABASE privilege.

  2. Create database

    CREATE DATABASE my_bank;
  3. Create tables in the database

    Directory "mysql\sql" contains below listed ".sql" files:

    • bankdetails.sql
    • branch_details.sql
    • teller_details.sql
    • customer_details.sql

    Copy the contents of each of the ".sql" and execute them separately on MySQL Server. This will create four tables in the database.

  4. Create .env file:

    SERVER_ADDR=127.0.0.1:8080
    MYSQL_USER=XXX
    MYSQL_PASSWORD=XXX
    MYSQL_HOST=127.0.0.1
    MYSQL_PORT=3306
    MYSQL_DBNAME=my_bank

    Update "MYSQL_USER" and "MYSQL_PASSWORD" values with the correct MySQL user/password. If your password contains dollar sign "$", then remember to escape it eg "123$abc" will need to be changed to "123\$abc"

  5. Run the server:

    cargo run
  6. Using a different terminal send an HTTP GET/POST requests to the running server:

    Directory "mysql\apis" contains below listed api's files:

    • addbank.txt
    • addbranch.txt
    • addteller.txt
    • addcustomer.txt
    • getbank.txt
    • getbranch.txt
    • getteller.txt
    • getcustomer.txt

    Copy the curl request on each of the ".txt" and execute them on separate terminals. Each ".txt" contains curl request and expected json reponse data.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages