Fichier de spécification d'entrée
La commande d'initialisation Blockchain App Builder lit le fichier de spécification d'entrée et génère le projet échafaudé, qui inclut des outils pour faciliter le processus de développement du code de chaîne.
Dans le fichier de spécification, vous pouvez spécifier plusieurs définitions et comportements de ressource, déclaration de méthode CRUD et non CRUD, méthodes personnalisées, validation d'arguments, conversion automatique de paramètres/déconversion de paramètres, capacité de persistance transparente et possibilité de terminer des interrogations de données enrichies à l'aide d'énoncés SQL SELECT ou du langage d'interrogation CouchDB. Ces fonctionnalités sont générées pour vous.
Fabcar-Typescript.yml
Marbles-Go.yml
Note :
Conformément aux conventions Go, les noms exportés commencent par une lettre majuscule. Par conséquent, toutes les propriétés et méthodes de l'immobilisation doivent avoir des noms commençant par des lettres majuscules dans le fichier de spécification.Structure du fichier de spécifications
En général, vous structurez un fichier de spécifications de la manière suivante :
assets:
name:
type:
properties:
name:
type:
id:
derived:
strategy:
algorithm:
format:
mandatory:
default:
validate:
methods:
crud:
others:
customMethods:
Blockchain App Builder prend en charge deux types de ressource spéciaux, les ressources intégrées et les ressources de jeton, en plus des ressources génériques sans type spécifié. Les ressources spéciales sont définies comme type: embedded
ou type: token
dans la section assets:
du fichier de spécification.
Tableau 3-2 : Descriptions et exemples de paramètres de fichier de spécification
Entrée | Description | Exemples |
---|---|---|
assets: |
Cette propriété prend la définition et le comportement de l'immobilisation. Vous pouvez définir plusieurs immobilisations. |
|
name: |
Nom de la ressource. Les noms suivants sont réservés. N'utilisez pas ces noms pour les ressources.
|
|
type: |
Types de ressource Les types de ressource spéciale suivants sont pris en charge :
Si vous ne spécifiez pas de paramètre |
|
type: type : intégré |
Si cette propriété est réglée à Dans l'exemple, la propriété Les ressources intégrées ne prennent pas en charge les références circulaires. Par exemple, dans l'exemple précédent, la ressource |
Ressource :
employee
Ressource :
address
|
properties: |
Décrit toutes les propriétés d'une ressource. |
|
name: |
Nom de la propriété. |
|
id: |
Indique l'identificateur de cette immobilisation. Cette propriété est obligatoire. |
|
type: |
Types de propriétés Les types de propriété de base suivants sont pris en charge :
Pour les codes de chaîne Go,
number est mappé à int et float est mappé à float64 . Les autres types ne sont pas pris en charge actuellement, notamment les types suivants :
|
|
derived: |
Cette propriété spécifie que la propriété id est dérivée d'autres clés. Les propriétés dépendantes doivent être du type de données Cette propriété comporte deux paramètres obligatoires :
Exemple 1 :
Exemple 2 :
|
Exemple 1
Exemple 2
|
mandatory: |
La propriété correspondante est obligatoire et ne peut pas être ignorée lors de la création d'une ressource. |
|
default: |
Valeur par défaut de cette propriété. |
|
validate: |
La propriété indiquée est validée par rapport à certaines des validations prêtes à l'emploi fournies par Blockchain App Builder. Vous pouvez effectuer des validations de chaîne si vous assurez la validité de la chaîne. Si la propriété |
|
validate: type : numéro |
Ces validations peuvent être enchaînées, séparées par des virgules. |
|
validate: type : chaîne |
Pour les codes de chaîne Go, les expressions rationnelles qui contiennent certains caractères réservés ou des espaces doivent faire l'objet d'un échappement approprié. |
|
validate: type : booléen |
Dans l'exemple, la validation de la propriété |
|
validate: type : tableau |
Par type lui-même, sous la forme de Vous pouvez entrer des limites au tableau dans le format |
|
validate: type : date |
La date doit avoir l'un des formats suivants :
|
|
methods: |
Utilisez cette option pour indiquer la méthode CRUD (Create/Read/Update/Delete) ou d'autres méthodes à générer. Par défaut, toutes les méthodes CRUD et autres sont générées. |
|
crud: |
Si ce tableau est laissé vide, aucune méthode CRUD ne sera créée. Si le paramètre Le paramètre |
|
others: |
Si ce tableau est laissé vide, aucune autre méthode ne sera créée. Si le paramètre Le paramètre |
|
customMethods: |
Cette propriété crée des modèles de méthode personnalisée appelables dans le fichier de contrôleur principal. Il prend la signature de la méthode et crée la déclaration de fonction dans le fichier contrôleur. Vous pouvez fournir des déclarations de fonction spécifiques à une langue ici. Une méthode personnalisée nommée |
TypeScript
Go
|