You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Rohan Sircar 894e75a587 Updated readme 4 years ago
migrations/2020-05-02-115427_create_users Many updates 4 years ago
src Formatting and diesel boxed query experiment 4 years ago
static first commit 4 years ago
templates first commit 4 years ago
.env first commit 4 years ago
.gitignore removed db from git 4 years ago
Cargo.lock Implemented basic auth logic + other stuff 4 years ago
Cargo.toml Implemented basic auth logic + other stuff 4 years ago
README.md Updated readme 4 years ago
diesel.toml first commit 4 years ago
rustfmt.toml Implemented basic auth logic + other stuff 4 years ago

README.md

Testing out the Rust framework Actix-Web to create a JSON API CRUD Web App.

API Demo

Get Users

curl -X GET http://localhost:7800/api/users/get/1
{"name":"user1","registration_date":"2020-05-09T06:17:26"}
curl -X GET http://localhost:7800/api/users/get
[{"name":"user1","registration_date":"2020-05-09T06:17:26"},{"name":"user2","registration_date":"2020-05-12T12:43:13"},{"name":"user3","registration_date":"2020-05-15T07:47:50"}]

Create User

curl -H "content-type: application/json" -X POST http://localhost:7800/do_registration --data '{"name":"user4","password":"test"}'
[{"name":"user1","registration_date":"2020-05-09T06:17:26"},{"name":"user2","registration_date":"2020-05-12T12:43:13"},{"name":"user3","registration_date":"2020-05-15T07:47:50"},{"name":"user4","registration_date":"2020-08-01T05:04:05"}]

DTO Validation

curl -H "content-type: application/json" -X POST http://localhost:7800/do_registration --data '{"name":"abc","password":"test"}'
ValidationErrors({"name": Field([ValidationError { code: "length", message: None, params: {"value": String("abc"), "min": Number(4), "max": Number(10)} }])})

Memory Usage

Memory usage as compared to interpreted language was my primary motivation for looking into rust as a backend language. As of writing, the demo app uses only 1.3MB of memory.