Crea API che non odierai
$25.99
Prezzo minimo
$28.99
Prezzo consigliato

Crea API che non odierai

Ormai tutti vogliono utilizzare le API quindi é decisamente una buona idea imparare a costruirle.

Informazioni sul Libro

Costruisco API da molto tempo ed é un'attivitá sempre piú comune per gli sviluppatori lato server grazie alla crescita di framework JavaScript per l'interfaccia grafica (front-end), di applicazioni per iPhone e di architetture API-centriche. Se da un lato si sta solo prendendo roba da un'origine dati per spararla in uscita come JSON, dall'altro sopravvivere ai cambiamenti nella business logic, agli aggiornamenti dello schema del database, alle nuove funzionalità o alla obsoloscenza degli endpoint, ecc... diventa molto difficile.

Trovo che la maggior parte delle risorse in cui mi sono imbattuto siano terribilmente carenti o specificamente finalizzate a un unico framework. Molti tutorial e libri usano mele e pere come esempi e quindi non sono abbastanza concreti, o parlano come se /users e /users/1 siano i soli endpoint di cui si abbia bisogno. Ho passato l'ultimo anno di lavoro in una società chiamata Kapture dove la mia funzione principale è stata quello di ereditare, ricostruire, mantenere e sviluppare una vasta API dotata di moltissimi endpoints diversi che espongono un sacco di diversi use-case.

L'API in questione era alla versione 2 quando sono entrato in azienda ed era scritta in FuelPHP, utilizzando un ORM ormai deprecato che era stato pesantemente modificato dallo sviluppatore originale. Kapture era in fase di ricostruzione della propria applicazione iPhone per implementare nuove funzionalità, quindi ho usato questa opportunitá per sistemare un po´ di casino e costruire la versione 3 con Laravel 4, facendo leva sui suoi semplici meccanismi di Routing (inizialmente basati su Symfony ), Migrazione di database, Schema, Seeding, ecc. Ora stiamo facendo la stessa cosa per la versione 4 ma questa volta non è stato necessario riscrivere nulla, anche se ci sono alcune nuove funzionalità, e la versione 3 è stata forcata (forked) in una nuova (v4) ed entrambe sono attivamente sviluppate e vivono fianco a fianco sugli stessi "API" server. 

Attraverso buone pratiche ed buoni consigli generali, potrai partire al volo con lo sviluppo di API, anche se sei nuovo in questo ambiente. D'altra parte, leggendo alcune storie dell'orrore che riporto (e come sono state superati/evitati/scongiurati certi errori) puoi sperare di evitare molte delle insidie in cui mi sono imbattuto o in cui ho visto cadere altri. Il libro discuterà la teoria della progettazione e della produzione di API in qualsiasi linguaggio o framework. La teoria verrá descritta attraverso esempi scritti prevalentemente in PHP ma anche in Ruby e Python. Questo libro, comunque, non sará troppo incentrato sul codice perché, diciamolo, leggere codice non é poi cosí divertente.

Al termine di questo libro riuscirai a costruire un'API che sa creare, leggere, aggiornare, eliminare, elencare, cercare e che sa fare quant'altro una buona API RESTful deve saper fare.

Il libro coprirá anche altri argomenti piú avanzati come il  testing degli endpoint, il debugging, gli embedded data objects in modo coerente e scalabile, l'impaginazione delle risposte (compresi gli embedded objects) e i collegamenti (links) di tipo HATEOAS. 

Se hai dei suggerimenti o dei commenti non esitare a metterti in contatto.

Questo libro è una traduzione in italiano di Build APIs You Won't Hate originariamente scritto in inglese.

Informazioni sugli Autori

Phil Sturgeon
Phil Sturgeon

Since 2010 I've worked as a freelancer, consultant, API lead, and CTO for several API-centric technology startups. Working as an internal API consultant for WeWork gave me a lot to write about, where I used my experience of things going horribly horribly wrong to help educate developers, define standards for API design and architecture, and implementing full API design lifecycles so we weren't all just building nonsense and hoping it was useful.

Trying to get loads of different questionably built APIs tidied up, playing nicely, and working quickly was a constant source of learning for me and everyone involved. I took a lot of that learning to Stoplight, and helped plan, build, and manage most of your favourite OpenAPI tools.

When I'm not banging on about APIs I'm riding, racing, or crashing various bikes, or saving the plant through Protect Earth, an environmental charity I co-founded in 2020. We create brand new woodlands, restore and extend ancient woodlands, and run around with machetes getting rid of invasive species.

Damiano Venturin
Damiano Venturin

I'm a linux man and a php developer. I like cross-cultural environments: who knows me well also knows what I mean. This is why, for now and occasionally, I translate books from english to italian.

Sono un utente linux ed uno sviluppatore php. Mi piacciono gli ambienti multiculturali: chi mi conosce bene sa cosa intendo. Per questo motivo, ogni tanto, traduco libri dall'inglese all'italiano.

twitter: @damko

Indice

  • Introduzione
  • Codice di Esempio
  • 1 Popolare proficuamente il database (database seeding)
    • 1.1 Introduzione
    • 1.2 Il Database seeding
    • 1.3 Come costruire i Seeders
    • 1.4 Questo è tutto
    • 1.5 Dati Secondari
    • 1.6 Quando eseguire il seeding?
  • 2 Pianificare e Creare Endpoints
    • 2.1 Requisiti Funzionali
    • 2.2 Teoria degli Endpoint
    • 2.3 Pianificare gli endpoint
  • 3 Input e Output: Teoria
    • 3.1 Introduzione
    • 3.2 Richieste (Requests)
    • 3.3 Risposte (Responses)
    • 3.4 Formati supportati
    • 3.5 Struttura del contenuto
  • 4 Codici di stato , errori e messaggi
    • 4.1 Introduzione
    • 4.2 Codici di stato HTTP
    • 4.3 Codici di errore e messaggi di errore
    • 4.4 Errore o errori
    • 4.5 Insidie frequenti
  • 5 Test degli Endpoint
    • 5.1 Introduzione
    • 5.2 Concetti e strumenti
    • 5.3 Installazione
    • 5.4 Inizializzazione
    • 5.5 Caratteristiche
    • 5.6 Scenari
    • 5.7 Preparare Behat
    • 5.8 Esecuzione di Behat
  • 6 Output dei dati
    • 6.1 Introduzione
    • 6.2 Approccio diretto
    • 6.3 Trasformazioni con Fractal
    • 6.4 Nascondere i cambiamenti di schema
    • 6.5 Output degli errori
    • 6.6 Test dell’output
    • 6.7 Compiti a casa
  • 7 Relazioni tra i dati
    • 7.1 Introduzione
    • 7.2 Sotto-Risorse
    • 7.3 Array di chiavi esterne (foreign keys)
    • 7.4 Documenti Composti (detto anche Side-Loading)
    • 7.5 Embedded Documents (a.k.a Annidamento - Documenti Incorporati)
  • 8 Debug
    • 8.1 Introduzione
    • 8.2 Debug a riga di comando
    • 8.3 Debug via browser
    • 8.4 Debug di rete
  • 9 Autenticazione
    • 9.1 Introduzione
    • 9.2 Quando é utile l’ autenticazione?
    • 9.3 Diversi approcci all’autenticazione
    • 9.4 Implementazione di un Server OAuth 2.0
    • 9.5 Dove vive un Server OAuth 2.0
  • 10 Paginazione
    • 10.1 Introduzione
    • 10.2 Paginator
    • 10.3 Offset e cursori
  • 11 Documentazione
    • 11.1 Introduzione
    • 11.2 Tipologie di documentazione
    • 11.3 Scegliere uno strumento
    • 11.4 Configurazione di API Blueprint e Aglio
    • 11.5 Imparare la sintassi dell’API di Blueprint
    • 11.6 Richieste
    • 11.7 Risposte
    • 11.8 Approfondimenti
  • 12 HATEOAS
    • 12.1 Introduzione
    • 12.2 Negoziazione del contenuto
    • 12.3 Controlli hypermedia (ipermediali)
  • 13 Versioning dell’API
    • 13.1 Introduzione
    • 13.2 Diversi approcci al versioning dell’API
    • 13.3 Chiedi agli utilizzatori
  • Conclusione
  • Approfondimenti

La Garanzia di Soddisfazione al 100% di 60 Giorni Leanpub

Entro 60 giorni dall'acquisto puoi ottenere un rimborso del 100% su qualsiasi acquisto Leanpub, con due clic.

Tecnicamente questo è rischioso per noi, dato che avrai comunque i file del libro o del corso. Ma siamo così fiduciosi nei nostri prodotti e servizi, e nei nostri autori e lettori, che siamo felici di offrire una garanzia di rimborso totale per tutto ciò che vendiamo.

Puoi scoprire quanto è buono qualcosa solo provandolo, e grazie alla nostra garanzia di rimborso del 100% non c'è letteralmente alcun rischio nel farlo!

Quindi, non c'è motivo per non cliccare sul pulsante Aggiungi al Carrello, giusto?

Vedi i termini completi...

Guadagna 8$ su un acquisto di 10$, e 16$ su un acquisto di 20$

Paghiamo royalty dell'80% sugli acquisti di 7,99$ o superiori, e royalty dell'80% meno una commissione fissa di 50 centesimi sugli acquisti tra 0,99$ e 7,98$. Guadagni 8$ su una vendita di 10$, e 16$ su una vendita di 20$. Quindi, se vendiamo 5000 copie non rimborsate del tuo libro a 20$, guadagnerai 80.000$.

(Sì, alcuni autori hanno già guadagnato molto di più su Leanpub.)

Infatti, gli autori hanno guadagnatooltre 14 milioni di dollariscrivendo, pubblicando e vendendo su Leanpub.

Scopri di più sulla scrittura su Leanpub

Aggiornamenti Gratuiti. Senza DRM.

Se acquisti un libro Leanpub, ricevi aggiornamenti gratuiti per tutto il tempo in cui l'autore aggiorna il libro! Molti autori utilizzano Leanpub per pubblicare i loro libri durante il processo di scrittura. Tutti i lettori ricevono aggiornamenti gratuiti, indipendentemente da quando hanno acquistato il libro o quanto hanno pagato (incluso gratis).

La maggior parte dei libri Leanpub è disponibile in PDF (per computer) ed EPUB (per telefoni, tablet e Kindle). I formati inclusi in un libro sono mostrati nell'angolo in alto a destra di questa pagina.

Infine, i libri Leanpub non hanno alcuna assurda protezione DRM, quindi puoi leggerli facilmente su qualsiasi dispositivo supportato.

Scopri di più sui formati ebook di Leanpub e dove leggerli

Scrivi e Pubblica su Leanpub

Puoi utilizzare Leanpub per scrivere, pubblicare e vendere facilmente ebook e corsi online in progress e completati!

Leanpub è una piattaforma potente per autori seri, che combina un flusso di lavoro di scrittura e pubblicazione semplice ed elegante con un negozio focalizzato sulla vendita di ebook in progress.

Leanpub è una macchina da scrivere magica per gli autori: basta scrivere in testo semplice e per pubblicare il tuo ebook, basta fare clic su un pulsante. (O, se stai producendo il tuo ebook a modo tuo, puoi persino caricare i tuoi file PDF e/o EPUB e poi pubblicare con un solo clic!) È davvero così semplice.

Scopri di più sulla pubblicazione su Leanpub