Building RESTful API server in Rust with nickel-postgres
Following on from my first Rust program, I have created my first Rust library, nickel-postgres
.
You can use it in your projects by adding this to Cargo.toml
:
[dependencies.nickel_postgres]
git = “https://github.com/bguiz/nickel-postgres.git” rev = “feature/init”
Here is a sample webserver that demonstrates how to create a RESTful API using Nickel.rs
and nickel-postgres
, and includes a demo front end to test it out.
Here is how - First off, import the crate and middlware class:
extern crate nickel_postgres; use nickel_postgres::PostgresMiddleware;
Next, add instantiate PostgresMiddleware
, and add it to your instance of Nickel
:
let mut server = Nickel::new(); let postgres_middleware: PostgresMiddleware = PostgresMiddleware::new( “postgres://postgres:postgres@localhost”, postgres::NoSsl, 5); server.utilize(postgres_middleware);
Finally, within each HTTP request handler functions, obtain a database connection:
fn a_handler_function(req: &Request, response: &mut Respose) { let db_conn = req.map.find::
That is all, enjoy!
Many thanks to Christoph Burgdorf, creator of Nickel.rs, and Steve Fackler, author of rust-postgres, for giving me a number of pointers to get things going.
Are we web yet? … one step closer!