Browse Source

📝 Update includes in `docs/fr/docs/tutorial/query-params-str-validations.md` (#12591)

pull/12629/head
Quentin Takeda 5 months ago
committed by GitHub
parent
commit
453f559934
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 56
      docs/fr/docs/tutorial/query-params-str-validations.md

56
docs/fr/docs/tutorial/query-params-str-validations.md

@ -4,9 +4,7 @@
Commençons avec cette application pour exemple :
```Python hl_lines="9"
{!../../docs_src/query_params_str_validations/tutorial001.py!}
```
{* ../../docs_src/query_params_str_validations/tutorial001.py hl[9] *}
Le paramètre de requête `q` a pour type `Union[str, None]` (ou `str | None` en Python 3.10), signifiant qu'il est de type `str` mais pourrait aussi être égal à `None`, et bien sûr, la valeur par défaut est `None`, donc **FastAPI** saura qu'il n'est pas requis.
@ -26,17 +24,13 @@ Nous allons imposer que bien que `q` soit un paramètre optionnel, dès qu'il es
Pour cela, importez d'abord `Query` depuis `fastapi` :
```Python hl_lines="3"
{!../../docs_src/query_params_str_validations/tutorial002.py!}
```
{* ../../docs_src/query_params_str_validations/tutorial002.py hl[3] *}
## Utiliser `Query` comme valeur par défaut
Construisez ensuite la valeur par défaut de votre paramètre avec `Query`, en choisissant 50 comme `max_length` :
```Python hl_lines="9"
{!../../docs_src/query_params_str_validations/tutorial002.py!}
```
{* ../../docs_src/query_params_str_validations/tutorial002.py hl[9] *}
Comme nous devons remplacer la valeur par défaut `None` dans la fonction par `Query()`, nous pouvons maintenant définir la valeur par défaut avec le paramètre `Query(default=None)`, il sert le même objectif qui est de définir cette valeur par défaut.
@ -86,17 +80,13 @@ Cela va valider les données, montrer une erreur claire si ces dernières ne son
Vous pouvez aussi rajouter un second paramètre `min_length` :
```Python hl_lines="9"
{!../../docs_src/query_params_str_validations/tutorial003.py!}
```
{* ../../docs_src/query_params_str_validations/tutorial003.py hl[9] *}
## Ajouter des validations par expressions régulières
On peut définir une <abbr title="Une expression régulière, regex ou regexp est une suite de caractères qui définit un pattern de correspondance pour les chaînes de caractères.">expression régulière</abbr> à laquelle le paramètre doit correspondre :
```Python hl_lines="10"
{!../../docs_src/query_params_str_validations/tutorial004.py!}
```
{* ../../docs_src/query_params_str_validations/tutorial004.py hl[10] *}
Cette expression régulière vérifie que la valeur passée comme paramètre :
@ -114,9 +104,7 @@ De la même façon que vous pouvez passer `None` comme premier argument pour l'u
Disons que vous déclarez le paramètre `q` comme ayant une longueur minimale de `3`, et une valeur par défaut étant `"fixedquery"` :
```Python hl_lines="7"
{!../../docs_src/query_params_str_validations/tutorial005.py!}
```
{* ../../docs_src/query_params_str_validations/tutorial005.py hl[7] *}
/// note | "Rappel"
@ -146,9 +134,7 @@ q: Union[str, None] = Query(default=None, min_length=3)
Donc pour déclarer une valeur comme requise tout en utilisant `Query`, il faut utiliser `...` comme premier argument :
```Python hl_lines="7"
{!../../docs_src/query_params_str_validations/tutorial006.py!}
```
{* ../../docs_src/query_params_str_validations/tutorial006.py hl[7] *}
/// info
@ -164,9 +150,7 @@ Quand on définit un paramètre de requête explicitement avec `Query` on peut a
Par exemple, pour déclarer un paramètre de requête `q` qui peut apparaître plusieurs fois dans une URL, on écrit :
```Python hl_lines="9"
{!../../docs_src/query_params_str_validations/tutorial011.py!}
```
{* ../../docs_src/query_params_str_validations/tutorial011.py hl[9] *}
Ce qui fait qu'avec une URL comme :
@ -201,9 +185,7 @@ La documentation sera donc mise à jour automatiquement pour autoriser plusieurs
Et l'on peut aussi définir une liste de valeurs par défaut si aucune n'est fournie :
```Python hl_lines="9"
{!../../docs_src/query_params_str_validations/tutorial012.py!}
```
{* ../../docs_src/query_params_str_validations/tutorial012.py hl[9] *}
Si vous allez à :
@ -228,9 +210,7 @@ et la réponse sera :
Il est aussi possible d'utiliser directement `list` plutôt que `List[str]` :
```Python hl_lines="7"
{!../../docs_src/query_params_str_validations/tutorial013.py!}
```
{* ../../docs_src/query_params_str_validations/tutorial013.py hl[7] *}
/// note
@ -256,15 +236,11 @@ Il se peut donc que certains d'entre eux n'utilisent pas toutes les métadonnée
Vous pouvez ajouter un `title` :
```Python hl_lines="10"
{!../../docs_src/query_params_str_validations/tutorial007.py!}
```
{* ../../docs_src/query_params_str_validations/tutorial007.py hl[10] *}
Et une `description` :
```Python hl_lines="13"
{!../../docs_src/query_params_str_validations/tutorial008.py!}
```
{* ../../docs_src/query_params_str_validations/tutorial008.py hl[13] *}
## Alias de paramètres
@ -284,9 +260,7 @@ Mais vous avez vraiment envie que ce soit exactement `item-query`...
Pour cela vous pouvez déclarer un `alias`, et cet alias est ce qui sera utilisé pour trouver la valeur du paramètre :
```Python hl_lines="9"
{!../../docs_src/query_params_str_validations/tutorial009.py!}
```
{* ../../docs_src/query_params_str_validations/tutorial009.py hl[9] *}
## Déprécier des paramètres
@ -296,9 +270,7 @@ Il faut qu'il continue à exister pendant un certain temps car vos clients l'uti
On utilise alors l'argument `deprecated=True` de `Query` :
```Python hl_lines="18"
{!../../docs_src/query_params_str_validations/tutorial010.py!}
```
{* ../../docs_src/query_params_str_validations/tutorial010.py hl[18] *}
La documentation le présentera comme il suit :

Loading…
Cancel
Save