Générer des API de wrapper à l'aide de la CLI

La version améliorée de Blockchain App Builder inclut la commande generateFnAPI, qui génère des API de wrapper pour toutes les API de contrôleur dans un projet de code chaîne.

Usage: ochain generateFnAPI [options]
Generation of WrapperAPI package for controller functions
Options:
-h, --help                  Output command usage information
-D, --debug                 Enable debug logging
-m, --mapping <mapping>     Info about functions endpoints mapping is mandatory.
-c, --config <config>       Info about configuration variables is mandatory.
-a, --all <all>             Generate the wrapperAPI package for entire controller functions
-p, --project <path>        Path to the Ochain chaincode project to generate the WrapperAPI package. If not specified, it defaults to current directory.
L'exemple suivant montre comment générer des API de wrapper pour un projet de code chaîne local.
ochain generateFnAPI --mapping <info object about function mapping> --config <info about the config variables> --project <Path to the Ochain chaincode project> --out <Path to the generated postman collection>

Lorsque vous exécutez la commande generateFnAPI, vous êtes invité à remplacer les packages d'API de wrapper précédents qui existent dans l'emplacement de sélection.

API Gateway limite à 50 le nombre de routages pouvant être créés dans un seul déploiement. Si vous essayez d'utiliser la commande generateFnAPI pour générer plus de 50 API de wrapper, vous êtes invité à créer plusieurs passerelles. La création de plusieurs passerelles avec le même préfixe de chemin de déploiement conserve un chemin de base cohérent sur toutes les adresses d'API de wrapper. Si vous choisissez de ne pas créer plusieurs passerelles, la génération d'API de wrapper est annulée.

Options de commande

-m, --mapping <mapping>
L'option de mise en correspondance définit la configuration des API de contrôleur, en indiquant les noms d'adresse et les API de contrôleur nécessitant la génération d'API wrapper. La correspondance est un objet JSON de paires clé/valeur, où la clé est le nom de l'API de contrôleur et la valeur est l'adresse personnalisée à associer à cette API de contrôleur.

L'exemple suivant montre un mappage pour le code chaîne qui utilise la norme étendue Token Taxonomy Framework.

ochain generateFnAPI --mapping '{"addConversionRate":"/addConversionRateTest", "addTokenAdmin": "/addTokenAdminTest", "approveBurn": "/approveBurnTest", "createAccount": "/createAccount", "associateTokenToAccount": "/associateTokenToAccountTest", "getAllOrgAccounts": "/getAllOrgAccounts"}' --config <info about the config variables> --project <Path to the Ochain chaincode project> --out <Path to the generated postman collection>
-c, --config <config>
L'option de configuration est utilisée pour transmettre les variables de configuration requises pour le package d'API de wrapper. Il s'agit d'un objet JSON de paires clé/valeur, où la clé est le nom de la variable de configuration et la valeur est la valeur de la variable de configuration. Toutes les variables de configuration sont obligatoires pour générer un package d'API de wrapper. Si l'une des variables suivantes n'est pas transmise à la commande, la génération de l'API de wrapper échoue. Vous pouvez modifier ces valeurs après avoir créé l'API de wrapper en extrayant le fichier .zip de l'API de wrapper.
Nom de variable Description
compartment_ocid OCID du compartiment dans Oracle Cloud Infrastructure (OCI).
compartment_name Nom du compartiment OCI.
identity_domain Domaine d'identité à utiliser.
blockchain_channel Nom du canal Oracle Blockchain Platform sur lequel le code chaîne est déployé.
blockchain_url URL Oracle Blockchain Platform associée au déploiement de code chaîne.
blockchain_chaincode Nom du code chaîne pour lequel générer les API de wrapper.
blockchain_sync Valeur de synchronisation à inclure dans la charge utile pour les appels d'API.
blockchain_timeout Valeur de délai d'expiration à inclure dans la charge utile pour les appels d'API.
vcn_display_name Nom d'affichage du réseau cloud virtuel OCI.
application_display_name Nom d'affichage de l'application OCI.
gateway_display_name Nom d'affichage de la passerelle d'API.
deployment_display_name Nom d'affichage du déploiement dans API Gateway.
deployment_path_prefix Préfixe de chemin de déploiement dans API Gateway, qui indique le chemin où les routages sont déployés. La variable deployment_path_prefix doit commencer par une barre oblique (/).
ocir_repo_name Nom du référentiel OCI Registry. La variable ocir_repo_name doit être en minuscules.
policy_name Nom de la stratégie qui permet une gestion contrôlée et un accès aux API via des droits d'accès définis pour les groupes et les compartiments au sein de l'organisation

L'exemple suivant montre un mappage pour le code chaîne qui utilise la norme étendue Token Taxonomy Framework.

ochain generateFnAPI -m '{"addConversionRate":"/addConversionRateTest", "addTokenAdmin": "/addTokenAdminTest", "approveBurn": "/approveBurnTest", "createAccount": "/createAccount", "associateTokenToAccount": "/associateTokenToAccountTest", "getAllOrgAccounts": "/getAllOrgAccounts"}' -c '{"compartment_ocid": "compartment_ocid value", "compartment_name": "compartment_name value", "identity_domain" : "OracleIdentityCloudService", "blockchain_channel": "default", "blockchain_url": "blockchain_url value", "blockchain_chaincode": "blockchain_chaincode value", "blockchain_sync": true, "blockchain_timeout": 6000, "vcn_display_name": "vcn_display_name value", "application_display_name": "application_display_name value", "gateway_display_name": "gateway_display_name value", "deployment_display_name": "deployment_display_name value", "deployment_path_prefix": "deployment_path_prefix value", "ocir_repo_name": "ocir_repo_name value", "policy_name": "policy_name value"}'
-a, --all <all>
L'option all génère une API de wrapper pour toutes les API de contrôleur définies dans le code chaîne. Si true, cette option remplace l'option de mappage. Une adresse par défaut est affectée à chaque API de wrapper, ce qui correspond au nom de l'API. Si vous indiquez l'option All, vous devez tout de même indiquer un objet JSON vide ({}) pour l'option de mise en correspondance.

L'exemple suivant montre un mappage pour le code chaîne qui utilise la norme étendue Token Taxonomy Framework.

ochain generateFnAPI -m '{}' -c '{"compartment_ocid": "compartment_ocid value", "compartment_name": "compartment_name value", "identity_domain" : "OracleIdentityCloudService", "blockchain_channel": "default", "blockchain_url": "blockchain_url value", "blockchain_chaincode": "blockchain_chaincode value", "blockchain_sync": true, "blockchain_timeout": 6000, "vcn_display_name": "vcn_display_name value", "application_display_name": "application_display_name value", "gateway_display_name": "gateway_display_name value", "deployment_display_name": "deployment_display_name value", "deployment_path_prefix": "deployment_path_prefix value", "ocir_repo_name": "ocir_repo_name value", "policy_name": "policy_name value"}' -a true