diff --git a/.cargo/config.toml b/.cargo/config.toml new file mode 100644 index 0000000..0243837 --- /dev/null +++ b/.cargo/config.toml @@ -0,0 +1,2 @@ +[build] +target-dir = "Binaries" diff --git a/Cargo.toml b/Cargo.toml new file mode 100644 index 0000000..84e84ea --- /dev/null +++ b/Cargo.toml @@ -0,0 +1,20 @@ +[package] +name = "API" +version = "0.0.1" +description = "Rust API" +repository = "https://github.com/GuilhermeWerner/RustAPI" +authors = ["GuilhermeWerner "] +license = "MIT" +edition = "2018" +publish = false + +[[bin]] +name="Server" +path = "Source/Server.rs" + +[dependencies] +rocket = "0.4.6" +rocket_contrib = "0.4.6" +# serde = "1.0" +# serde_json = "1.0" +# serde_derive = "1.0" diff --git a/Source/Server.rs b/Source/Server.rs new file mode 100644 index 0000000..57c286e --- /dev/null +++ b/Source/Server.rs @@ -0,0 +1,31 @@ +#![feature(proc_macro_hygiene, decl_macro)] + +#[macro_use] +extern crate rocket; + +#[macro_use] +extern crate rocket_contrib; + +use rocket_contrib::json::{Json, JsonValue}; + +#[get("/")] +fn hello() -> JsonValue { + return json!({ "TribuFu": "Hello World" }); +} + +#[catch(404)] +fn not_found() -> JsonValue { + return json!({ + "Error": "RESOURCE_NOT_FOUND" + }); +} + +fn rocket() -> rocket::Rocket { + return rocket::ignite() + .mount("/", routes![hello]) + .register(catchers![not_found]); +} + +fn main() { + rocket().launch(); +} diff --git a/rust-toolchain b/rust-toolchain new file mode 100644 index 0000000..bf867e0 --- /dev/null +++ b/rust-toolchain @@ -0,0 +1 @@ +nightly