Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Scaffold e i Web Service

Gestire le funzionalità generate con scaffold come servizi Web REST
Gestire le funzionalità generate con scaffold come servizi Web REST
Link copiato negli appunti

Oltre a creare la tabella, la logica e le pagine HTML per gestire i dati, con lo scaffolding Rails ha fatto silenziosamente qualcosa in più. La risorsa Bookmark è accessibile non solo tramite browser ma anche tramite Web Service REST.

Inseriamo qualche altro bookmark utilizzando la pagina http://0.0.0.0:3000/bookmarks/new e accediamo tramite browser alla pagina http://0.0.0.0:3000/bookmarks.xml; il risultato è un XML ben formato contenente tutti i bookmark inseriti, pronto per essere interpretato da un'applicazione esterna.

Esempio di XML generato dall'applicazione

<?xml version="1.0" encoding="UTF-8"?>
<bookmarks type="array">
  <bookmark>
  <created-at type="datetime">2008-05-17T19:01:36+02:00</created-at>
    <description>Home page della sezione Ruby. Guide, articoli di approfondimento e risorse su Ruby</description>
    <id type="integer">1</id>
    <title>Ruby su HTML.it</title>
    <updated-at type="datetime">2008-05-17T19:01:36+02:00</updated-at>
    <url>http://ruby.html.it</url>
  </bookmark>
  <bookmark>
    <created-at type="datetime">2008-05-17T20:37:31+02:00</created-at>
    <description>Home page della sezione Programmazione. Guide, articoli di approfondimento e risorse su Programmazione</description>
    <id type="integer">2</id>
    <title>Programmazione a HTML.it</title>
    <updated-at type="datetime">2008-05-17T20:37:31+02:00</updated-at>
    <url>http://programmazione.html.it/</url>
  </bookmark>
</bookmarks>

La differenza tra l'indirizzo utilizzato per visualizzare l'elenco dei bookmark in HTML e quello per ottenere l'XML, sta esclusivamente nell'estensione:

Indirizzo Risposta
http://0.0.0.0:3000/bookmarks la pagina HTML per la visualizzazione della lista dei bookmark
http://0.0.0.0:3000/bookmarks.xml il corrispondente file XML

Allo stesso modo per il singolo bookmark:

Indirizzo Risposta
http://0.0.0.0:3000/bookmarks/1 la pagina HTML del primo bookmark inserito
http://0.0.0.0:3000/bookmarks/1.xml il corrispondente file XML

L'applicazione ora rende quindi possibile la gestione di bookmark tanto tramite pagine HTML quanto tramite Web Service REST.

Ricapitolando, con scaffold abbiamo potuto creare, senza sforzo, il modello i controller e le viste dell'applicazione. I tipi di interazione possibili sono basilari (creazione, modfica, cancellazione, visualizzazione), ma si possono costruire funzionalità più complesse utilizzando come base il codice generato automaticamente.

I comandi fondamentali dello scaffolding sono:

Generazione di una nuova risorsa

ruby script/generate scaffold <risorsa> [nomeCampo:tipo ...]

generazione della tabella necessaria alla gestione della risorsa

rake db:migrate

Ti consigliamo anche