Archivo de especificación de entrada
El comando de inicialización de Blockchain App Builder lee el archivo de especificación de entrada y genera el proyecto andamiaje, que incluye herramientas para ayudar en el proceso de desarrollo del código de cadenas.
En el archivo de especificación puede especificar varias definiciones y comportamientos de activos, declaraciones de métodos CRUD y no CRUD, métodos personalizados, validación de argumentos, canalización automática/anulación de canalización automática, capacidad de persistencia transparente y la capacidad de completar consultas de datos enriquecidos mediante sentencias SQL SELECT o el lenguaje de consulta CouchDB. Estas funciones se generan para usted.
Fabcar-Typescript.yml
Marbles-Go.yml
Note:
De acuerdo con las convenciones de Go, los nombres exportados comienzan con una letra mayúscula. Por lo tanto, todas las propiedades y métodos del activo deben tener nombres que empiecen por letras mayúsculas en el archivo de especificación.Estructura del archivo de especificación
Normalmente, un archivo de especificación se estructura de la siguiente manera:
assets:
name:
type:
properties:
name:
type:
id:
derived:
strategy:
algorithm:
format:
mandatory:
default:
validate:
methods:
crud:
others:
customMethods:
Blockchain App Builder soporta dos tipos de activos especiales, activos embebidos y activos de token, además de activos genéricos sin ningún tipo especificado. Los activos especiales se definen como type: embedded
o type: token
en la sección assets:
del archivo de especificación.
Tabla 3-2 Descripciones y ejemplos de parámetros del archivo de especificación
Entrada | Descripción | Ejemplos |
---|---|---|
assets: |
Esta propiedad toma la definición y el comportamiento del activo. Puede definir varios activos. |
|
name: |
El nombre del activo. Los siguientes nombres están reservados. No utilice estos nombres para los activos.
|
|
type: |
Tipos de activos Se admiten los siguientes tipos de activos especiales:
Si no especifica un parámetro |
|
type: tipo: embebido |
Si esta propiedad se define en En el ejemplo, la propiedad Los activos embebidos no soportan referencias circulares. Por ejemplo, en el ejemplo anterior, el activo |
Activo:
employee
Activo:
address
|
properties: |
Describe todas las propiedades de un activo. |
|
name: |
Nombre de la propiedad. |
|
id: |
Especifica el identificador de este activo. Esta propiedad es obligatoria. |
|
type: |
Tipos de propiedad Se admiten los siguientes tipos de propiedades básicas:
Para los códigos de cadenas Go,
number se asigna a int y float se asigna a float64 . Actualmente no se admiten otros tipos, incluidos los siguientes:
|
|
derived: |
Esta propiedad especifica que la propiedad id se deriva de otras claves. Las propiedades dependientes deben ser del tipo de dato Esta propiedad tiene dos parámetros obligatorios:
Ejemplo 1:
Ejemplo 2:
|
Ejemplo 1
Ejemplo 2
|
mandatory: |
La propiedad correspondiente es obligatoria y no se puede omitir al crear un activo. |
|
default: |
El valor por defecto de esta propiedad. |
|
validate: |
La propiedad determinada se valida con respecto a algunas de las validaciones listas para usar proporcionadas por Blockchain App Builder. Puede encadenar validaciones si se asegura de que la cadena sea válida. Si no se proporciona la propiedad |
|
validate: tipo: número |
Estas validaciones se pueden encadenar, separadas por comas. |
|
validate: tipo: cadena |
Para los códigos de cadenas Go, las expresiones regulares que contienen determinados caracteres reservados o espacios en blanco deben identificarse correctamente. |
|
validate: tipo: booleano |
En el ejemplo, la validación de la propiedad |
|
validate: tipo: matriz |
Por tipo en sí, con el formato Puede introducir límites para la matriz con el formato |
|
validate: Tipo: fecha |
La fecha debe tener uno de estos formatos:
|
|
methods: |
Utilice esta opción para indicar cuál de los métodos CRUD (Crear/Leer/Actualizar/Suprimir) o adicionales se van a generar. Por defecto, se generan todos los métodos CRUD y otros. |
|
crud: |
Si esta matriz se deja vacía, no se creará ningún método CRUD. Si no se especifica el parámetro El parámetro |
|
others: |
Si esta matriz se deja vacía, no se creará ningún otro método. Si el parámetro El parámetro |
|
customMethods: |
Esta propiedad crea plantillas de métodos personalizados invocables en el archivo del controlador principal. Toma la firma del método y crea la declaración de función en el archivo del controlador. Puede proporcionar declaraciones de función específicas del idioma aquí. Se proporciona un método personalizado denominado |
TypeScript
Go
|