45 lines
1.0 KiB
Markdown
45 lines
1.0 KiB
Markdown
# API template with Clean Architecture
|
|
|
|
This is a template for building APIs with Clean Architecture. It contains two examples of APIs built with FastAPI and Flask.
|
|
|
|
- `src` contains the source code.
|
|
- `src/core`: business logic (use cases, entities, decorators...).
|
|
- `src/infra`: implementations of the interfaces defined in the core.
|
|
- `src/infra/api/fastapi`: FastAPI implementation.
|
|
- `src/infra/api/flask`: Flask implementation.
|
|
- `src/infra/storage/`: Fake storage implementation.
|
|
|
|
## Requirements
|
|
|
|
- Docker
|
|
|
|
## Prepare
|
|
|
|
```bash
|
|
make build network
|
|
```
|
|
|
|
## Run FastAPI
|
|
|
|
```bash
|
|
make api.fastapi.run
|
|
```
|
|
|
|
Now, you can test the API with the following command:
|
|
|
|
```bash
|
|
curl -X 'GET' 'http://localhost:8000/api/v1/documents/?appName=app_test&clientId=client_test' -H 'accept: application/json' | jq
|
|
```
|
|
|
|
## Run Flask
|
|
|
|
```bash
|
|
make api.flask.run
|
|
```
|
|
|
|
Now, you can test the API with the following command:
|
|
|
|
```bash
|
|
curl -X 'GET' 'http://localhost:5000/api/v1/documents/?appName=app_test&clientId=client_test' -H 'accept: application/json' | jq
|
|
```
|