mirror of
https://github.com/actix/examples
synced 2025-06-26 17:17:42 +02:00
format markdown
This commit is contained in:
@ -11,62 +11,56 @@
|
||||
|
||||
1. Create database user
|
||||
|
||||
```shell
|
||||
createuser -P test_user
|
||||
```
|
||||
```shell
|
||||
createuser -P test_user
|
||||
```
|
||||
|
||||
Enter a password of your choice. The following instructions assume you
|
||||
used `testing` as password.
|
||||
Enter a password of your choice. The following instructions assume you used `testing` as password.
|
||||
|
||||
This step is **optional** and you can also use an existing database user
|
||||
for that. Just make sure to replace `test_user` by the database user
|
||||
of your choice in the following steps and change the `.env` file
|
||||
containing the configuration accordingly.
|
||||
This step is **optional** and you can also use an existing database user for that. Just make sure to replace `test_user` by the database user of your choice in the following steps and change the `.env` file containing the configuration accordingly.
|
||||
|
||||
2. Create database
|
||||
|
||||
```shell
|
||||
createdb -O test_user testing_db
|
||||
```
|
||||
```shell
|
||||
createdb -O test_user testing_db
|
||||
```
|
||||
|
||||
3. Initialize database
|
||||
|
||||
```shell
|
||||
psql -f sql/schema.sql testing_db
|
||||
```
|
||||
```shell
|
||||
psql -f sql/schema.sql testing_db
|
||||
```
|
||||
|
||||
This step can be repeated and clears the database as it drops and
|
||||
recreates the schema `testing` which is used within the database.
|
||||
This step can be repeated and clears the database as it drops and recreates the schema `testing` which is used within the database.
|
||||
|
||||
4. Create `.env` file:
|
||||
|
||||
```ini
|
||||
SERVER_ADDR=127.0.0.1:8080
|
||||
PG.USER=test_user
|
||||
PG.PASSWORD=testing
|
||||
PG.HOST=127.0.0.1
|
||||
PG.PORT=5432
|
||||
PG.DBNAME=testing_db
|
||||
PG.POOL.MAX_SIZE=16
|
||||
```
|
||||
```ini
|
||||
SERVER_ADDR=127.0.0.1:8080
|
||||
PG.USER=test_user
|
||||
PG.PASSWORD=testing
|
||||
PG.HOST=127.0.0.1
|
||||
PG.PORT=5432
|
||||
PG.DBNAME=testing_db
|
||||
PG.POOL.MAX_SIZE=16
|
||||
```
|
||||
|
||||
5. Run the server:
|
||||
|
||||
```shell
|
||||
cargo run
|
||||
```
|
||||
```shell
|
||||
cargo run
|
||||
```
|
||||
|
||||
6. Using a different terminal send an HTTP POST request to the running server:
|
||||
|
||||
```shell
|
||||
echo '{"email": "ferris@thecrab.com", "first_name": "ferris", "last_name": "crab", "username": "ferreal"}' | http -f --json --print h POST http://127.0.0.1:8080/users
|
||||
```
|
||||
```shell
|
||||
echo '{"email": "ferris@thecrab.com", "first_name": "ferris", "last_name": "crab", "username": "ferreal"}' | http -f --json --print h POST http://127.0.0.1:8080/users
|
||||
```
|
||||
|
||||
**...or using curl...**
|
||||
**...or using curl...**
|
||||
|
||||
```shell
|
||||
curl -d '{"email": "ferris@thecrab.com", "first_name": "ferris", "last_name": "crab", "username": "ferreal"}' -H 'Content-Type: application/json' http://127.0.0.1:8080/users
|
||||
```
|
||||
```shell
|
||||
curl -d '{"email": "ferris@thecrab.com", "first_name": "ferris", "last_name": "crab", "username": "ferreal"}' -H 'Content-Type: application/json' http://127.0.0.1:8080/users
|
||||
```
|
||||
|
||||
A unique constraint exists for username, so sending this request twice
|
||||
will return an internal server error (HTTP 500).
|
||||
A unique constraint exists for username, so sending this request twice will return an internal server error (HTTP 500).
|
||||
|
Reference in New Issue
Block a user