Generación de API de Wrapper con la CLI
La versión mejorada de Blockchain App Builder incluye el comando generateFnAPI
, que genera API de envoltorio para todas las API de controlador en un proyecto de código de cadena.
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.
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>
Al ejecutar el comando generateFnAPI
, se le preguntará si desea sobrescribir los paquetes de API de envoltorio anteriores que existan en la ubicación de selección.
API Gateway limita a 50 el número de rutas que se pueden crear en un solo despliegue. Si intenta utilizar el comando generateFnAPI
para generar más de 50 API de envoltorio, se le preguntará si desea crear varios gateways. La creación de varios gateways con el mismo prefijo de ruta de despliegue mantiene una ruta de acceso base consistente en todos los puntos finales de API de envoltorio. Si decide no crear varios gateways, se cancela la generación de API de envoltorio.
Opciones de Comando
- -m, --mapping <mapping>
- La opción de asignación define la configuración de las API de controlador, especificando los nombres de punto final y qué API de controlador requieren la generación de API de envoltorio. La asignación es un objeto JSON de pares clave/valor, donde la clave es el nombre de la API de controlador y el valor es el punto final personalizado que se asociará a esa API de controlador.
En el siguiente ejemplo se muestra una asignación para el código de cadena que utiliza el estándar de marco de taxonomía de token ampliado.
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>
- La opción de configuración se utiliza para transferir las variables de configuración necesarias para el paquete de API de envoltorio. Es un objeto JSON de pares clave/valor, donde la clave es el nombre de la variable de configuración y el valor es el valor de la variable de configuración. Todas las variables de configuración son obligatorias para generar un paquete de API de envoltorio. Si alguna de las siguientes variables no se transfiere al comando, falla la generación de la API de envoltorio. Puede editar estos valores después de crear la API de envoltorio extrayendo el archivo
.zip
de la API de envoltorio.Nombre de la variable Descripción compartment_ocid
OCID del compartimento en Oracle Cloud Infrastructure (OCI). compartment_name
Nombre del compartimento de OCI. identity_domain
Dominio de identidad que se va a utilizar. blockchain_channel
Nombre del canal de Oracle Blockchain Platform en el que se despliega el código de cadena. blockchain_url
URL de Oracle Blockchain Platform asociada al despliegue del código de cadena. blockchain_chaincode
Nombre del código de cadenas para el que se van a generar las API de envoltorio. blockchain_sync
Valor de sincronización que se incluirá en la carga útil para llamadas de API. blockchain_timeout
Valor de timeout que se va a incluir en la carga útil para llamadas de API. vcn_display_name
Nombre mostrado de la red virtual en la nube de OCI. application_display_name
Nombre mostrado de la aplicación de OCI. gateway_display_name
Nombre mostrado de API Gateway. deployment_display_name
Nombre mostrado del despliegue en API Gateway. deployment_path_prefix
Prefijo de ruta de acceso de despliegue en API Gateway, que especifica la ruta de acceso donde se despliegan las rutas. La variable deployment_path_prefix
debe comenzar con una barra inclinada (/).ocir_repo_name
Nombre del repositorio de OCI Registry. La variable ocir_repo_name
debe estar todas en minúsculas.policy_name
Nombre de la política que permite la gestión controlada y el acceso a las API mediante permisos definidos para grupos y compartimentos de la organización En el siguiente ejemplo se muestra una asignación para el código de cadena que utiliza el estándar de marco de taxonomía de token ampliado.
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>
- La opción all genera la API de envoltorio para todas las API de controlador definidas en el código de cadenas. Si
true
, esta opción sustituye a la opción de asignación. A cada API de envoltorio se le asigna un punto final por defecto, que corresponde al nombre de la API. Si especifica la opción Todo, debe proporcionar un objeto JSON vacío ({}) para la opción de asignación.En el siguiente ejemplo se muestra una asignación para el código de cadena que utiliza el estándar de marco de taxonomía de token ampliado.
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