8000 🌐 Add Russian translation for `docs/ru/docs/advanced/additional-statu… · fastapi/fastapi@6682295 · GitHub
[go: up one dir, main page]

Skip to content

Commit 6682295

Browse files
🌐 Add Russian translation for docs/ru/docs/advanced/additional-status-codes.md (#13799)
* 🌐 Add Russian translation for `docs/ru/docs/advanced/additional-status-codes.md` * 🎨 [pre-commit.ci] Auto format from pre-commit.com hooks * Update additional-status-codes.md fixed `Response-классов` --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
1 parent 2915e31 commit 6682295

File tree

1 file changed

+41
-0
lines changed

1 file changed

+41
-0
lines changed
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
# Дополнительные статус коды
2+
3+
По умолчанию **FastAPI** возвращает ответы, используя `JSONResponse`, помещая содержимое, которое вы возвращаете из вашей *операции пути*, внутрь этого `JSONResponse`.
4+
5+
Он будет использовать код статуса по умолчанию или тот, который вы укажете в вашей *операции пути*.
6+
7+
## Дополнительные статус коды
8+
9+
Если вы хотите возвращать дополнительный статус код помимо основного, вы можете сделать это, возвращая объект `Response` напрямую, как `JSONResponse`, и устанавливая нужный статус код напрямую.
10+
11+
Например, скажем, вы хотите создать *операцию пути*, которая позволяет обновлять элементы и возвращает HTTP-код 200 "OK" при успешном выполнении.
12+
13+
Но вы также хотите, чтобы она принимала новые элементы. И если элемент ранее не существовал, он создаётся, и возвращался HTTP-код 201 "Created".
14+
15+
Чтобы реализовать это, импортируйте `JSONResponse` и возвращайте ваш контент напрямую, устанавливая нужный `status_code`:
16+
17+
{* ../../docs_src/additional_status_codes/tutorial001_an_py310.py hl[4,25] *}
18+
19+
/// warning | Внимание
20+
21+
Когда вы возвращаете объект `Response` напрямую, как в примере выше, он будет возвращён как есть.
22+
23+
Он не будет сериализован при помощи модели и т.д.
24+
25+
Убедитесь, что в нём содержатся именно те данные, которые вы хотите, и что значения являются валидным JSON (если вы используете `JSONResponse`).
26+
27+
///
28+
29+
/// note | Технические детали
30+
31+
Вы также можете использовать `from starlette.responses import JSONResponse`.
32+
33+
**FastAPI** предоставляет тот же `starlette.responses` через `fastapi.responses` просто для вашего удобства, как разработчика. Но большинство доступных Response-классов поступают напрямую из Starlette. То же самое касается и `status`.
34+
35+
///
36+
37+
## OpenAPI и документация API
38+
39+
Если вы возвращаете дополнительные коды статусов и ответы напрямую, они не будут включены в схему OpenAPI (документацию API), потому что FastAPI не может заранее знать, что вы собираетесь вернуть.
40+
41+
Но вы можете задокументировать это в вашем коде, используя: [Дополнительные ответы в OpenAPI](additional-responses.md){.internal-link target=_blank}.

0 commit comments

Comments
 (0)
0