Navigazione della documentazione
Come fare

Creare la prima funzione

Costruisci una funzione che risponde a POST /hello con un saluto, leggendo il nome dal corpo della richiesta, e pubblicala come API.

Per chi
Chi usa OpenBack per la prima volta
Tempo
10 minuti
Prima ti serve
Un progetto e il permesso di creare funzioni
Risultato
Un endpoint che a {"name": "Ada"} risponde Hello, Ada!

Passi

  1. Crea la funzione

    Apri Computing › Functions e fai clic su New Function. Scrivi un nome, ad esempio hello, e lascia le altre impostazioni come sono. Nella sezione Blocks fai clic su Open visual editor.

    Risultato attesoSi apre l'editor visuale, con la tela vuota.

  2. Leggi la richiesta

    Dalla barra Available blocks, categoria Input, trascina Incoming event sulla tela, poi trascina Body. Collega Incoming event › Event a Body › Event: premi sulla porta rotonda a destra del primo blocco e rilascia sulla porta a sinistra del secondo.

    Risultato attesoI due blocchi sono collegati da una linea.

  3. Componi il saluto

    Dalla categoria Transform trascina Template e collega Body › Body a Template › Data. Seleziona il blocco e, nel pannello Properties, imposta Template a Hello, {{name}}!.

  4. Restituisci la risposta

    Dalla categoria Output trascina Response e collega Template › Text a Response › Value.

  5. Prova la funzione

    Fai clic su Run (▶) o premi Ctrl+Enter. Nel dialogo Set the test input scrivi:

    {"body": {"name": "Ada"}}

    e fai clic su Run.

    Risultato attesoI blocchi diventano verdi uno dopo l'altro e la vista Return value mostra Hello, Ada!

  6. Salva

    Fai clic su Save (Ctrl+S) per restare nell'editor, oppure su Save and exit per tornare all'elenco.

  7. Pubblicala come API

    Apri API › Endpoints e crea un endpoint POST /hello. Imposta l'azione su Function e scegli hello.

    Risultato attesoOgni chiamata all'endpoint avvia la funzione: la richiesta diventa l'evento in ingresso e il valore che arriva a Response diventa il corpo della risposta.

Verifica

Chiama l'endpoint con un client HTTP, ad esempio:

curl -X POST <indirizzo-dell-endpoint>/hello \
  -H "Content-Type: application/json" \
  -d '{"name": "Ada"}'

La risposta è Hello, Ada!. In Computing › Functions › Executions trovi l'esecuzione appena registrata.

Problemi comuni

SintomoCausaSoluzione
Il dialogo di prova non si apreIl grafo non ha un blocco Incoming eventAggiungi Incoming event (categoria Input) e collegalo
La risposta è vuotaUn collegamento manca o va alla porta sbagliataControlla la catena Body › Template › Response
Serve una risposta JSONTemplate produce testoScrivi il modello come JSON e aggiungi Parse JSON (Transform) prima di Response

Pezzi usati

  • Incoming event In preparazione
  • Body In preparazione
  • Template In preparazione
  • Response In preparazione

Prossimi passi

  • Condition
  • Come funziona un'esecuzione In preparazione
  • Pubblicare una funzione come API In preparazione