File specifica di input
Il comando di inizializzazione Blockchain App Builder legge il file di specifica di input e genera il progetto impalcato con diversi strumenti per assistere nel processo di sviluppo del codice concatenato.
Con il file di specifica è possibile specificare più definizioni e comportamento degli asset, dichiarazione dei metodi CRUD e non CRUD, metodi personalizzati, convalida degli argomenti, marshalling/unmarshalling automatico, funzionalità di persistenza trasparente e richiamo di query Rich Data utilizzando SQL SELECTs o CouchDB Query Language. Queste funzioni verranno generate automaticamente.
yaml
o json
. Puoi vedere file di specifiche di esempio in entrambi i formati nel download del pacchetto Blockchain App Builder:
Fabcar-Typescript.yml
Marbles-Go.yml
Nota
Conformemente alle convenzioni Go, i nomi esportati iniziano con una lettera maiuscola. Pertanto, tutte le proprietà e i metodi dell'asset devono avere nomi che iniziano con lettere maiuscole nel file di specifica.Struttura del file di specifica
In genere, un file di specifica viene strutturato nel modo seguente:
assets:
name:
type:
properties:
name:
type:
id:
derived:
strategy:
algorithm:
format:
mandatory:
default:
validate:
methods:
crud:
others:
customMethods:
Blockchain App Builder supporta due tipi di asset speciali, asset incorporati e asset token, oltre agli asset generici senza alcun tipo specificato. Gli asset speciali sono definiti come type: embedded
o type: token
nella sezione assets:
del file di specifica.
Tabella 7-2 Descrizioni ed esempi dei parametri del file di specifica
Voce | Descrizione | Esempi |
---|---|---|
assets: |
Questa proprietà accetta la definizione e il funzionamento dell'asset. Qui è possibile fornire più definizioni di asset. |
|
name: |
Il nome dell'asset. I seguenti nomi sono riservati. Non utilizzare questi nomi per gli asset.
|
|
type: |
Tipo di asset Sono supportati i tipi di asset speciali seguenti:
Se non si specifica un parametro |
|
type: tipo: incorporato |
Se questa proprietà è impostata su Nell'esempio, la proprietà Gli asset incorporati non supportano riferimenti circolari. Ad esempio, nell'esempio precedente l'asset |
Cespite:
employee
Asset:
address
|
properties: |
Descrivere tutte le proprietà di un asset. |
|
name: |
Il nome della proprietà. |
|
id: |
Specifica l'identificativo di questo asset. Questa proprietà è obbligatoria. |
|
type: |
Tipi di proprietà Sono supportati i tipi di proprietà di base seguenti:
Per i codici concatenati Go,
number è mappato a int e float è mappato a float64 . Al momento non sono supportati altri tipi, inclusi i seguenti:
|
|
derived: |
Questa proprietà specifica che la proprietà id viene derivata da altre chiavi. Le proprietà dipendenti devono essere di tipo dati Questa proprietà ha due parametri obbligatori:
Esempio 1:
Esempio 2:
|
Esempio 1
Esempio 2
|
mandatory: |
La proprietà corrispondente è obbligatoria e non può essere ignorata durante la creazione di un asset. |
|
default: |
Viene fornito il valore predefinito di questa proprietà. |
|
validate: |
La proprietà specificata viene convalidata in base ad alcune convalide predefinite fornite da Blockchain App Builder. È possibile concatenare le convalide se si garantisce che la catena sia valida. Se la proprietà |
|
validate: type: number |
Queste convalide possono essere concatenate separate da virgole. |
|
validate: tipo: stringa |
Per i codici concatenati Go, le espressioni regolari che contengono determinati caratteri riservati o spazi vuoti devono essere precedute correttamente. |
|
validate: tipo: booleano |
Nell'esempio, la convalida della proprietà |
|
validate: tipo: array |
Per tipo, nella forma di È possibile immettere limiti all'array nel formato |
|
validate: tipo: data |
La data deve essere uno dei seguenti formati:
|
|
methods: |
Utilizzare questa opzione per indicare quale dei metodi CRUD (Create/Read/Update/Delete) o aggiuntivi deve essere generato. Per impostazione predefinita, se non viene immesso alcun valore, vengono generati tutti i metodi CRUD e altri metodi. |
|
crud: |
Se questo array viene lasciato vuoto, non verrà creato alcun metodo CRUD. Se il parametro Il parametro |
|
others: |
Se questo array viene lasciato vuoto, non verranno creati altri metodi. Se il parametro Il parametro |
|
customMethods: |
Questa proprietà crea modelli di metodo personalizzati richiamabili nel file del controller principale. Prende la firma del metodo e crea la dichiarazione di funzione nel file del controller. Qui è possibile fornire dichiarazioni di funzione specifiche della lingua. Viene fornito un metodo personalizzato denominato |
TypeScript
Vai
|