-
I am trying to use rust + rocket to build a REST API that handles just POST and does JSON -> JSON
-
I have written the following code so far:
#![feature(proc_macro_hygiene, decl_macro)]
#[macro_use] extern crate rocket;
use std::path::PathBuf;
#[post("/api")]
fn root_api() -> &'static str {
handler()
}
#[post("/api/<path..>")]
fn child_api(path: PathBuf) -> &'static str {
handler()
}
fn handler() -> &'static str {
"Hello, world!"
}
pub fn main() {
rocket::ignite().mount("/", routes![root_api, child_api]).launch();
}
- The code works fine when I run:
curl -X POST http://localhost:8000/api -d "@data.txt"
-
What I need help with now (and what I can't find docs for) is: how do I write a handler that does JSON -> JSON ? I want a handler where it uses serde to get the input field as a JSON object, then returns a JSON object.
-
Any idea where there is sample code for this? (The rocket docs seems to be focused on routing.)
Thanks!