mirror of
https://github.com/actix/examples
synced 2024-12-05 03:01:55 +01:00
8186a8cfea
Co-authored-by: Igor Aleksanov <popzxc@yandex.ru> Co-authored-by: Altug Sahin <altugsahin@gmail.com> Co-authored-by: Rob Ede <robjtede@icloud.com>
28 lines
907 B
Markdown
28 lines
907 B
Markdown
This is a contrived example intended to illustrate a few important actix-web features.
|
|
|
|
*Imagine* that you have a process that involves 3 steps. The steps here
|
|
are dumb in that they do nothing other than call an HTTP endpoint that
|
|
returns the json that was posted to it. The intent here is to illustrate
|
|
how to chain these steps together as futures and return a final result
|
|
in a response.
|
|
|
|
Actix Web features illustrated here include:
|
|
|
|
1. handling json input param
|
|
2. validating user-submitted parameters using the 'validator' crate
|
|
2. actix-web client features:
|
|
- POSTing json body
|
|
3. chaining futures into a single response used by an asynch endpoint
|
|
|
|
|
|
### server
|
|
|
|
```bash
|
|
cd basics/json-validation
|
|
cargo run
|
|
# Started http server: 127.0.0.1:8080
|
|
```
|
|
|
|
Example query from the command line using httpie:
|
|
```echo '{"id":"1", "name": "JohnDoe"}' | http 127.0.0.1:8080/something```
|