Skip to content

Commit 05cb2a7

Browse files
committed
change view
1 parent e7a0a9b commit 05cb2a7

1 file changed

Lines changed: 54 additions & 52 deletions

File tree

README.md

Lines changed: 54 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -30,64 +30,66 @@ docker compose up
3030
Обзор и детали данного шаблона
3131
## Найболее используемые
3232
Найболее используемые конструкции с которыми приходится часто взаимодействовать.
33-
- registration routers
34-
- В каждом приложений необходимо инициализировать router
35-
```python
36-
# api/users/views.py
37-
from fastapi import APIRouter
33+
### Registration Routers
34+
- В каждом приложений необходимо инициализировать router
35+
```python
36+
# api/users/views.py
37+
from fastapi import APIRouter
3838

3939

40-
router = APIRouter(prefix='/users',
41-
tags=['Users'],
42-
)
43-
```
44-
- Затем зарегистрировать роутер
45-
```python
46-
# api_v1/routers.py
47-
from api_v1.users.views import router as users
40+
router = APIRouter(
41+
prefix='/users',
42+
tags=['Users'],
43+
)
44+
```
45+
- Затем зарегистрировать роутер
46+
```python
47+
# api_v1/routers.py
48+
from api_v1.users.views import router as users
49+
from config import settings
4850

4951

50-
# В этой функции нужно по порядку регистрировать routers
51-
def register_routers(app: FastAPI) -> None:
52-
app.include_router(
53-
router=users,
54-
prefix=settings.API_PREFIX,
55-
)
56-
```
57-
После регистрации данные маршруты будут доступны.
58-
- registration logs
59-
- Логи захватывают все исключения возникшие в системе
60-
и с помошью дисперичизации распределяется по нужным **file.log**
61-
```python
62-
# app_includes/logs_errors.py
63-
from fastapi import FastAPI
64-
from api_v1.exeptions import ValidationError
52+
# В этой функции нужно по порядку регистрировать routers
53+
def register_routers(app: FastAPI) -> None:
54+
app.include_router(
55+
router=users,
56+
prefix=settings.API_PREFIX,
57+
)
58+
```
59+
После регистрации данные маршруты будут доступны.
60+
### Registration Logs
61+
- Логи захватывают все исключения возникшие в системе
62+
и с помошью дисперичизации распределяется по нужным **file.log**
63+
```python
64+
# app_includes/logs_errors.py
65+
from fastapi import FastAPI
66+
from api_v1.exeptions import ValidationError
6567

6668

67-
# В данной функции регистрируются все исключения для захватывания Логами
68-
def register_errors(app: FastAPI) -> None:
69-
@app.exception_handler(ValidationError)
70-
async def validation_error_handler(
71-
request: Request,
72-
exc: ValidationError,
73-
):
74-
logger.opt(exception=True).warning(exc)
75-
response = dict(
76-
status=False,
77-
error_code=exc.status_code,
78-
message=exc.detail,
79-
)
80-
return JSONResponse(response)
81-
```
82-
- Если вы пишете пользовательское исключение например:
83-
```python
84-
from starlette.exceptions import HTTPException
69+
# В данной функции регистрируются все исключения для захватывания Логами
70+
def register_errors(app: FastAPI) -> None:
71+
@app.exception_handler(ValidationError)
72+
async def validation_error_handler(
73+
request: Request,
74+
exc: ValidationError,
75+
):
76+
logger.opt(exception=True).warning(exc)
77+
response = dict(
78+
status=False,
79+
error_code=exc.status_code,
80+
message=exc.detail,
81+
)
82+
return JSONResponse(response)
83+
```
84+
- Если вы пишете пользовательское исключение например:
85+
```python
86+
from starlette.exceptions import HTTPException
8587

8688

87-
class ValidationError(HTTPException):
89+
class ValidationError(HTTPException):
8890

89-
pass
90-
```
91-
То вам нужно его зарегистрировать как было показанно выше,
92-
иначе logs не смогут выявить данное исключение и данные будут потеряны.
93-
- registration middlaware
91+
pass
92+
```
93+
То вам нужно его зарегистрировать как было показанно выше,
94+
иначе logs не смогут выявить данное исключение и данные будут утеряны.
95+
### Registration Middlaware

0 commit comments

Comments
 (0)