Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Le générateur d’API de données (DAB) fournit une API web RESTful qui vous permet d’accéder aux tables, vues et procédures stockées à partir d’une base de données connectée. Chaque objet de base de données exposé est défini comme une entité dans la configuration du runtime.
Par défaut, DAB héberge les points de terminaison REST à l’adresse suivante :
https://{base_url}/api/{entity}
Remarque
Tous les composants de chemin d’accès et les paramètres de requête sont sensibles à la casse.
Mots clés pris en charge dans le générateur d’API de données
| Concept | REST | Objectif |
|---|---|---|
| Projection | $select | Choisir les champs à retourner |
| Filtrage | $filter | Restreindre les lignes par condition |
| Tri | $orderby | Définir l’ordre de tri |
| Taille de la page | $first | Limiter les éléments par page |
| Suite | $after | Continuer à partir de la dernière page |
Structure de base
Pour appeler une API REST, construisez une requête à l’aide de ce modèle :
{HTTP method} https://{base_url}/{rest-path}/{entity}
Exemple de lecture de tous les enregistrements de l’entité book :
GET https://localhost:5001/api/book
La réponse est un objet JSON :
{
"value": [
{ "id": 1, "title": "Dune" },
{ "id": 2, "title": "Foundation" }
]
}
Remarque
Par défaut, DAB retourne jusqu’à 100 éléments par requête, sauf configuration contraire (runtime.pagination.default-page-size).
Types de requêtes
Chaque entité REST prend en charge à la fois la lecture des collections et celle des enregistrements individuels.
| Opération | Descriptif |
|---|---|
GET /api/{entity} |
Retourne une liste d’enregistrements |
GET /api/{entity}/{primary-key-column}/{primary-key-value} |
Retourne un enregistrement par clé primaire |
Exemple de retour d’un enregistrement :
GET /api/book/id/1010
Exemple renvoyant plusieurs éléments :
GET /api/book
Filtrage des résultats
Utilisez le $filter paramètre de requête pour restreindre les enregistrements retournés.
GET /api/book?$filter=title eq 'Foundation'
Cette requête retourne tous les livres dont le titre est égal à « Foundation ».
Les filtres peuvent inclure des opérateurs logiques pour des requêtes plus complexes :
GET /api/book?$filter=year ge 1970 or title eq 'Dune'
Consultez la référence de l’argument $filter pour des opérateurs pris en charge tels que eqne, lt, le, and, et or.
Tri des résultats
Le $orderby paramètre définit la façon dont les enregistrements sont triés.
GET /api/book?$orderby=year desc, title asc
Cela classe les livres par year décroissant, puis par title.
Pour plus d’informations, consultez la référence de l’argument $orderby .
Limitation des résultats {#first-and-after}
Le $first paramètre limite le nombre d’enregistrements retournés dans une requête.
GET /api/book?$first=5
Cela retourne les cinq premiers livres, classés par clé primaire par défaut.
Vous pouvez également utiliser $first=-1 pour demander la taille de page maximale configurée.
Pour en savoir plus, consultez la référence de l’argument $first.
Résultats continus
Pour récupérer la page suivante, utilisez $after avec le jeton de continuation issu de la réponse précédente.
GET /api/book?$first=5&$after={continuation-token}
Le $after jeton identifie l’endroit où la dernière requête s’est terminée.
Pour plus d'informations, consultez la section référence de l'argument $after pour les détails.
Sélection de champ (projection)
Permet $select de contrôler les champs inclus dans la réponse.
GET /api/book?$select=id,title,price
Cela retourne uniquement les colonnes spécifiées.
Si un champ est manquant ou n’est pas accessible, DAB retourne 400 Bad Request.
Consultez référence de l'argument $select pour plus de détails.
Modification des données
L’API REST prend également en charge les opérations de création, de mise à jour et de suppression en fonction des autorisations d’entité.
| Méthode | Action |
|---|---|
POST |
Créer un élément |
PUT |
Remplacer un élément existant (ou créer s’il est manquant) |
PATCH |
Mettre à jour un élément existant (ou créer s’il est manquant) |
DELETE |
Supprimer un élément par clé primaire |
Exemple de création d’un nouvel enregistrement :
POST /api/book
Content-type: application/json
{
"id": 2000,
"title": "Leviathan Wakes"
}
Exemple de mise à jour d’un enregistrement existant :
PATCH /api/book/id/2000
Content-type: application/json
{
"year": 2011,
"pages": 577
}
Exemple de suppression d’un enregistrement :
DELETE /api/book/id/2000