Ce document a été traduit par IA. Pour des informations précises, veuillez consulter la version anglaise.
SingleRecordResource
Une ressource orientée vers un enregistrement unique : les données correspondent à un objet unique, prenant en charge la récupération par clé primaire, la création/mise à jour (save) et la suppression. Elle est adaptée aux scénarios d'"enregistrement unique" tels que les détails et les formulaires. Contrairement à MultiRecordResource, la méthode getData() de SingleRecordResource retourne un objet unique. Vous spécifiez la clé primaire via setFilterByTk(id), et save() appellera automatiquement create ou update en fonction de l'état de isNewRecord.
Hiérarchie d'héritage : FlowResource → APIResource → BaseRecordResource → SingleRecordResource.
Méthode de création : ctx.makeResource('SingleRecordResource') ou ctx.initResource('SingleRecordResource'). Vous devez appeler setResourceName('nom_de_la_collection') avant l'utilisation. Pour les opérations par clé primaire, utilisez setFilterByTk(id). Dans RunJS, ctx.api est injecté par l'environnement d'exécution.
Scénarios d'utilisation
Format des données
getData()retourne un objet d'enregistrement unique, correspondant au champdatade la réponse de l'APIget.getMeta()retourne les métadonnées (si disponibles).
Nom de la ressource et clé primaire
État
Paramètres de requête (Filtre / Champs)
CRUD
Configuration et événements
Exemples
Récupération et mise à jour de base
Créer un nouvel enregistrement
Supprimer un enregistrement
Chargement d'associations et de champs
Ressources associées (par ex. users.profile)
Sauvegarde sans rafraîchissement automatique
Écoute des événements refresh / saved
Remarques
- setResourceName est obligatoire : Vous devez appeler
setResourceName('nom_de_la_collection')avant l'utilisation, sinon l'URL de la requête ne pourra pas être construite. - filterByTk et isNewRecord : Si
setFilterByTkn'est pas appelé,isNewRecordesttrue, etrefresh()n'initiera pas de requête ;save()exécutera une actioncreate. - Ressources associées : Lorsque le nom de la ressource est au format
parent.child(par ex.users.profile), vous devez d'abord appelersetSourceId(clé_primaire_parent). - getData retourne un objet : Les données retournées par les API d'enregistrement unique sont un objet d'enregistrement ;
getData()retourne cet objet directement. Il devientnullaprèsdestroy().
Liens connexes
- ctx.resource - L'instance de ressource dans le contexte actuel
- ctx.initResource() - Initialiser et lier à
ctx.resource - ctx.makeResource() - Créer une nouvelle instance de ressource sans liaison
- APIResource - Ressource API générale requise par URL
- MultiRecordResource - Orientée vers les collections/listes, prenant en charge le CRUD et la pagination

