Re:
Hallo pl,
Was ist mit Parametern aus STDIN?
Die gibt es nicht. Das ist kein CGI.
Was du vermutlich meinst: was ist mit Parametern aus POST-Requests?
Bei Phoenix gibt es da keinen Unterschied, das funktioniert genau wie bei GET.
Bei Rocket: im Prinzip genau so:
#[post("/", data = "<input>")] fn new(input: T) -> String { ... }
Wobei
T
hier denFormData
-Trait implementieren muss. Aber für Strukturen haben sie noch ein paar tolle Sachen eingebaut:#[derive(FromForm)] struct Task { complete: bool, description: String, } #[post("/todo", data = "<task>")] fn new(task: Form<Task>) -> String { ... }
Übrigens funktioniert das sowohl bei Rocket als auch bei Phoenix auch mit JSON im Body.
Dein Code ist übrigens das Gegenteil von Transparenten Layers. Weil 1. der Enctype im Anwendungscode sichtbar wird und 2. die Requestmethode.
MfG