Press "Enter" to skip to content

GOTO 2014 • REST: I don’t Think it Means What You Think it Does • Stefan Tilkov


benvenuto a questa sessione il mio nome è
Stefan perdonami per parlare di riposo
L’ho detto poche volte così ho raccolto
alcune cose che ho trovato si verificano di nuovo
e ancora e discussioni sul riposo mio
il piano per questa sessione è di iniziare
con una breve introduzione ma io
fallo solo se qualcuno di voi pensa che sia
vale la pena il tuo tempo così come molti di voi hanno
in realtà ho fatto riposo nella pratica
costruendo alcuni sistemi e cose simili
va bene chi non ha mai fatto niente
con il riposo e ha solo la più pallida idea
quello che potrebbe essere okay quindi sì sì
chi si considera un esperto oh
questa è una domanda divertente
non alza nemmeno la mano che è strana
va tutto bene, grazie, parleremo
sul riposo um iniziamo con la sua introduzione
e ottenere disponibili con abbastanza rapidamente così
questo è il resto è tutto in realtà
molto facile
è un numero di cose mi dispiace signorina .
incasinato la mia animazione sì così quello che tu
può vedere in alto che è essenzialmente il
definizione di riposo tutto molto facile è a
numero di vincoli e architettonico
lo stile è tutto grazie buona giornata
quindi ovviamente in questo in questo
dissertazione questa tesi di dottorato c’è un
molte cose ce ne sono molte
definizioni ci sono molte cose
che si riferiscono tra loro e
in realtà non c’è nulla in questo
dissertazione puoi trovare un singolo
frase che dice che questo è il resto
in realtà è giusto penso sia carino
buona carta è un documento piuttosto buono
ha ha un ottimo rapporto ed ha
il grande vantaggio di essere l’unico
rispondere dando l’unica risposta su qualsiasi
domanda che potresti avere tutto questo
confutare l’inventore del riposo ha come
risposta in questo documento è un
risposta autorevole che non c’è
discutendo con quello
sfortunatamente non risponde
tutto o almeno non risponde
in un modo facile da accesso e molti
persone che si chiedono se il riposo sia come
mal definiti come altre cose che siamo
trattando ad esempio SOA o
componenti o orientamento dell’oggetto o
microservizi e non è in realtà riposo
è abbastanza ben definito perché ha
questa definizione perché ha un insieme di
vincoli architettonici quindi cosa
significa che tu definisci un insieme di regole
e se qualcosa aderisce a aderire a
quelle regole quindi può pretendere di essere un
istanza di questo particolare particolare
stile architettonico giusto così
lo stile architettonico è quello di
l’architettura come modello di progettazione è
un’implementazione giusta è che è a
un po ‘più astratto lo cattura
cose su su su come si potrebbe
vuoi avvicinarti a qualcosa e se tu
segui queste regole particolari allora tu
può pretendere di aver costruito un’istanza di
questo non devi farlo e lì
sono come Roy sarebbe il primo a
evidenzia gli svantaggi di alcuni di questi
cose per esempio senza stato
comunicazione significa che non lo fai
non raccogli le sessioni rimaste
il lato server in modo che abbia un costo
significa che devi fare cose
esplicito sul lato server che dice
qualcosa memorizzato lì o trasferito
trasferiscilo con ogni richiesta ciò che
avere scelte da fare e questo è tutto
questo è per darti un qualche tipo
di introduzione qui per darvi un po ‘
una sorta di identificazione ne scelgo una
frase dal dal Dottorato di Roy
tesi che parla di un certo numero di
le cose quindi la prima cosa di cui parla
è l’identificazione delle risorse
l’identificazione delle risorse è qualcosa
che vediamo sul web tutto il tempo
giusto è ciò che siamo è ciò che siamo
usando tutto il tempo ogni volta che vediamo un
autobus che passa per la strada che ha un
URI ha un URL dalla sua parte che usiamo questo
concetto, perché siamo in grado di prendere quel URL e
mettilo nel nostro hit della barra degli indirizzi del browser
inserisci e recupera una pagina che ci dice
qualcosa giusto così identificazione di
le risorse sul web indicano che gli utenti usano a
URI per tutto ciò che tu
penso valga la pena, proprio tutto questo
pensi che abbia valore dovrebbe avere il suo
proprio URI in modo da poterlo fare riferimento così
che puoi accedervi direttamente da uno di
i grandi valori di questo di questo riposo
l’idea è che siamo tutti d’accordo su un modo per
identifica le cose per cui facciamo questo
tipo di concetto di identità universale
non importa se è il mio
applicazione o la tua applicazione o
Josh’s o Ian’s chi l’ha costruito
roba se usano solo lo stesso concetto
tutti usano voi sorgono, quindi abbiamo un
unificato
idea di come identificare le cose che
significa che diventano bersagli per linkarti
può collegarsi a loro se non ne hanno uno
URI non possiamo farlo diventare
qualcosa che puoi aggiungere ai segnalibri, quindi fallo
che puoi tornare indietro dopo
diventare punti di ingresso per la vostra applicazione
se la tua applicazione ha un singolo URI
ha un singolo punto di ingresso in effetti è così
il caso con molte applicazioni web che
sono costruiti in grandi aziende molti di
le applicazioni che gestisco sono costruite
in questo modo e questo è triste che offre questo
concetto o sacrifica l’idea di
identificabilità
per qualche strana idea di programmatore
la felicità non capisco davvero perché
persone di cui parla JSF
felicità del programmatore ma alcuni alcuni di
quelle applicazioni costruite in questo modo sono carenti
questo semplice concetto di dare tutto
questo è importante il suo URI proprio così
la prima cosa è solo quella nota anche quella
Non sto parlando di servizi web
qui a destra sto parlando di qualsiasi cosa
quello è sul web non importa
se è qualcosa qualcosa che
potresti chiamare un servizio web qualcosa
quello che ti offre JSON su HTTP per
qualche scambio programmatico o
qualcosa che è un’applicazione di interfaccia utente che
ti dà un po ‘di HTML non importa
infatti questa distinzione non fu mai
importante a qualcuno come dei re per
la gente in realtà ha inventato questi
intere idee è solo la stessa cosa
ora una volta abbiamo quelle cose quelle
cose identificabili che dobbiamo in qualche modo
interagire con loro il modo di interagire
con loro è per mezzo di rappresentazioni
così possono essere rappresentati
in alcuni formati di dati e in realtà
ci dà alcuni aspetti che il tuo
che siamo tutti a conoscenza, nonché
c’è una certa quantità di metadati noi
sapere qualcosa sulle cose che noi
scambiare con un server c’è qualcosa
come un tipo di contenuto e c’è un
accetta intestazione che ci consente di fare contenuti
trattativa abbiamo in effetti a
separazione della separazione delle preoccupazioni di
certe cose abbiamo una separazione di
preoccupazioni dei dati effettivi che inviamo
l’ identità che questi dati hanno e
la posizione in cui si trova così è
queste sono tutte identità di parti separate
è qualcosa che è molto più costante in
il
ciclo di vita delle applicazioni nei sistemi
ciclo di vita rispetto ai dati effettivi che è
essere scambiati se ci pensi
per un po ‘se vieni con tutto il
cose che vale la pena essere identificate
nel tuo sistema come ad esempio il tuo
i clienti e i tuoi ordini e i passaggi
nell’approvare qualcosa o qualunque cosa sia
che trovi una scoperta di valore
averlo sul tuo occhio quelli
le identità sono molto molto stabili i dati
potrebbe cambiare il formato potrebbe cambiare ma
probabilmente quello che ha un’identità oggi
avere un’identità anche l’anno prossimo, quindi se
separiamo quelle cose se ci rendiamo noi
se introduciamo una separazione di preoccupazioni
possiamo effettivamente avere multipli
rappresentazioni allo stesso tempo così noi
avere la stessa cosa rappresentata in
diversi modi allo stesso tempo
o diverse rappresentazioni sul
corso di tempo così questi potrebbero effettivamente
essere, se si desidera chiamare loro che
versioni anche se ci arriveremo in
momento
quindi se un cliente ne riceve cinque nuovi
attributi che è perfettamente bene loro
ottieni cinque nuovi attributi ma è ancora
lo stesso cliente è sempre lo stesso
entità la stessa identità che c’era
prima di usare questo concetto riduciamo
dipendenza da dettagli di implementazione noi
avere questo URI questa cosa che identifica
qualcosa non importa in quale
sistema risiede non importa
se lo sposti da qualche parte finchè
hai un URI al quale puoi connetterti
si collega a qualcosa per mezzo di
il suo URI è probabilmente il più buono
il più vagamente che fosse il minimo
modo accoppiato per accedere a connettersi a
qualcosa che ti connette a qualcosa
se solo sai una volta arrivato
mezzi del presupposto che sta andando
avere qualcosa che servirà un dato
su HTTP a destra è molto debole
ipotesi di manipolazione dei risultati
le rappresentazioni abilitano anche il post
il modello di elaborazione è tipicamente
collegato al tipo di dati che tu
scambia per esempio se usi HTML come
un formato dati poi c’è un poi lì
è un certo modello di elaborazione collegato
a quello con cui hai familiarità
forum e link giusti e inviate
qualcosa ti restituisce qualcosa che ottieni
un reindirizzamento qualunque sia quello
in realtà HTTP il formato stesso
definisce il modo in cui le rappresentazioni
vengono inviati avanti e indietro tra client
e server
è un principio generale che puoi usare come
puoi con molte cose vedere incarnato in
HTML ma non può e dovrebbe anche
lottare per i propri disegni così secondi
cosa abbiamo quelle cose e loro hanno
rappresentazioni il terzo è che noi
avere hypermedia come il motore
stato dell’applicazione Non voglio fare un
acronimo di questo perché è stupido
così ipermediale è il motore
lo stato di applicazione significa essenzialmente questo
una volta che hai tutte queste cose tu
collegarli insieme in modo significativo
moda giusto sono collegati in alcuni
modo e quelle connessioni tra le cose
sono qualcosa che vuoi far emergere
nella tua API o nel tuo sistema nel tuo
nella superficie del tuo servizio di assistenza
progettare correttamente così la cosa principale
che la gente parla di quando loro
quando parlano della connessione dell’interfaccia utente
l’ipermedia è link giusto molte persone
parliamo di link in base al modo in cui ci sono
posti a sedere davanti se non lo fai
voglio stare nella parte posteriore in modo che i collegamenti è
la prima cosa ma non ci sono solo
collegamenti ci sono anche forme in modo che tu
può effettivamente costruire una nuova richiesta
in base ai dati provenienti da
server ci arriveremo anche lì
è una certa idea di flusso qui giusto così noi
avere hypermedia come il motore di
stato dell’applicazione con il senso che
in effetti navighi attraverso un
applicazione mediante le risposte
che si ottiene dal server non lo fai
avere un percorso prestabilito che avete
hard-coded nel tuo client che va da
un passo dopo l’altro hai qualcosa
questo è fatto basandosi sul sotto
sulla quantità di informazioni che tu
ottenere uno del tipo di informazioni che
dal server in effetti lo sono
ripetermi ma se guardi all’HTML
nel browser è un ottimo esempio di
un sistema riposante ora qualcuno lo farà
lamentarsi ma il browser non lo fa
e cancella la vite a me non interessa
in termini di HTML e dei media iper e la
risposte e il tipo di cuore il basso
quantità di ipotesi hard-coded nel
nel browser consente un eccellente
esempio di un cliente riposante molto grande
finalmente arriviamo a decidere dove mettere
stato giusto possiamo possiamo mettere lo stato dentro
lì nelle risposte e averli
lo hanno rimandato a noi nella prossima
richiesta o possiamo mettere lo stato sul
il server lo ha indirizzato da un URI questi
sono tutti aspetti delle decisioni che io
fare quando disegno il mio hypermedia
il mio sistema di media così tre cose che abbiamo
identificare le cose che abbiamo diamo loro un URI noi
scambiare rappresentazioni quindi ci separiamo
identità nei dati reali che
rappresenta ciò che è identificato da
questo da questa cosa e poi usiamo
ipermedia come una cosa per controllare il nostro
flusso finalmente abbiamo auto-descrittivo
messaggi e messaggi auto-descrittivi
essenzialmente significa solo che dovresti
essere in grado di dare un senso a qualcosa se
guarda il messaggio vero e proprio così
questo è un tipo di manifest contro
i metadati non dovrebbero avere un
documentazione da leggere per fare molto
ipotesi a meno che non
la documentazione è standardizzata e parte
di un RFC
va bene, non dovrei prendere un
guardare un messaggio per cui non lo faccio
conoscere il protocollo o il formato e poi
magicamente
in una specie di sorta di intelligenza artificiale
senso di ciò che non è quello che è
parliamo piuttosto di cui stiamo parlando
utilizzando formati standardizzati ovunque
possibile utilizzare formati ben defunti in cui
Posso davvero concludere il messaggio
dove posso trovare maggiori informazioni su
cosa sta succedendo giusto così ancora una volta abbiamo
l’aspetto dei metadati all’interno del messaggio
giusto così il messaggio stesso per esempio
potrebbe contenere un tipo di contenuto c’è a
intestazione chiamata tipo di contenuto che dice
questo è l’ identificatore di questo contenuto
scrivi in ​​modo che io possa andare all’Ayana e
cercare nel registro del tipo di contenuto
quale RFC definisce quella cosa e poi
scoprire cosa significa in realtà che io sia
guardando a destra quindi c’è una c’è un
modo standardizzato di affrontare l’ altro
quindi la standardizzazione gioca molto
ruolo importante qui è un altro aspetto
che ottieni da questo fornitore
l’indipendenza giusta non sono io non sono
accedere a qualcosa che è specifico per
questa particolare istanza di un servizio o
Sto parlando di questa particolare macchina
non sto usando il codice HTML di Amazon se parlo
ad Amazon per comprare un libro che sto usando il
stesso codice HTML che sto usando quando parlo
Google Rights nello stesso formato è il
stessa cosa sono idealmente almeno formati
sono indipendenti da particolari entità
che in realtà li usano proprio così
tutta l’ idea di avere tutto a
informazioni standardizzate tutte queste
le intestazioni ci consentono di produrre molto molto
intermediari utili in modo che possiamo mettere a
macchina tra un client e un server
senza sapere quale salita in cui
server che avrà ragione
c’è una scatola di là che ci limiteremo a prendere
uno sguardo ai messaggi e fai qualcosa
utile con loro il mio esempio preferito è
sempre l’intermediario di memorizzazione nella cache
qualcosa come una cache proxy inversa
che siederà da qualche parte e guarderà il
messaggi e in base ai metadati che
ti dice qualcosa sul circa il
i requisiti di freschezza lo faranno
intelligentemente messo queste informazioni in
memoria e servitela da lì
questo è tutto ciò che puoi solo
fare perché il messaggio stesso è così
descrittivo infatti se vieni da un
Sfondo SOA e molte persone hanno fatto
s via prima che scoprissero il riposo che
è una specie di tragico perché lo era
originariamente il contrario di così tanti
persone qualsiasi persone che hanno scoperto
riposare dopo lo Sowa
trovare una somiglianza tra la visione
era in questo in questo servizi web
mondo in termini di così pacche di destra ma
non è una coincidenza, è esattamente
la stessa cosa in effetti una delle persone
chi ha scritto la soap spec era precedente a
membro del gruppo di lavoro HTTP e
ho aiutato a scrivere le specifiche HTTP ovviamente
può vedere somiglianze qui e ma dentro
in contrasto con il mondo dei servizi web questo
uno in realtà è decollato alla grande così noi
abbiamo questa definizione teorica che abbiamo
una tesi di dottorato di cui abbiamo molte discussioni
stili architettonici e molte persone
ammetto davvero che non l’hanno mai fatto
in realtà è riuscito a raccogliere la tesi ma
Posso dirti che in realtà non è quello
non sono un buon lettore di tesi e
non a tutti, ma ho potuto ho potuto gestire in modo
probabilmente si può pure in modo che sarà
chi qui ha letto la tesi che è
è impressionante che è circa cinque
questo è un numero migliore di me
di solito ottiene così forse si dovrebbe farlo
su una piovosa frase della domenica pomeriggio
in modo diverso se davvero se davvero
bollire se proviamo a distillare il
Essenza di tutto questo quindi non è niente
più di quello che vediamo nel web giusto
abbiamo questa cosa del web che siamo
lavorare con tutto il giorno e il web è
esattamente questo è un sacco di cose con
ti presenti o URL se preferisci scrivere
un sacco di cose che hanno un URL e
sono tutti collegati per mezzo di
ipermedia
quindi puoi collegare direttamente a qualcosa
puoi pubblicare qualcosa che puoi condividere
qualcosa su Twitter o qualunque cosa sia
fanno su Facebook in modo che si può fare
ed è governato da formati standard
va bene così che il tuo cliente generico
può davvero
stammi indietro oggi è così
possiamo sperare che rimarrà così per un po ‘
non stiamo andando tutti a usare qualsiasi cosa
Il successore di Facebook per HTML sta per
essere chiamato quindi questo è questo è il tipo di
Giusto lavoro abbiamo questo abbiamo
questa idea è molto importante da notare
questo non è qualcosa che solo per il web
servizi non è il non quello che
dovrebbe sostituire il sapone giusto è un
erano di livello completamente diverso
parlando di qui stiamo parlando
questa cosa architettonica astratta che
ha alcuni vincoli e questo
in realtà governa in realtà ti dice quando
puoi affermare che qualcosa è riposante
o no ora ho fatto questo per un
mentre e nonostante i miei sforzi ha
effettivamente diventato più diffuso mi dispiace così
in realtà ha avuto abbastanza successo
è tutto a riposo, queste persone si sono accorte
che c’è un sacco di valore in particolare
opposto a due alternative che intorno
lì ma ci sono alcuni comuni
idee sbagliate alcune cose che le persone
penso e ho elencato alcuni che mi piacerebbe
per ottenere di più da te ipotesi o
idee sbagliate o cose che tu
Credo fermamente dove mi sbaglio o
dove hai visto gli altri una chiamata
Qualche rischio che pensi non sia e
Ho lasciato qualche discussione su questo, lasciami fare
ottenere rapidamente attraverso questo e possiamo vedere
quanti di quelli che hai incontrato e
quanti di voi sono d’accordo o in disaccordo
con così questo è probabilmente il mio mio
il preferito, quindi il riposo è carino
Alzati, abbiamo il bello
URL riposante o un diritto di risveglio piacevole riposante
URI e questo è solo totalmente è così
totalmente rotto è tutto questo concetto
totalmente rotto quindi diamo un
guarda perché questo è il caso che presento
voi alcuni siete gli occhi giusti prendiamo un
guarda questo che direbbe quello è
l’ URI riposante chi è chi pensa che sia
riposante okay lasciatemelo dire se tu
pensa che non sia riposante
numero significativo se ti interessa perché no
qualsiasi idea perché non il formato perché due volte
formattare un problema in quell’URI
suona istruttivo distruttivo okay
distruttivo qualsiasi altra cosa si sta mescolando
entità diverse proprio lì ha un
parametro di query va bene sembra un
comando okay qualsiasi altra cosa buona mi dispiace
nessuna identificazione va bene per quanto riguarda questo
uno è questo un riposo sei io penso
questo è un riposante sei arrivato per cinque
chi pensa che non sia più di così
perché pensi che non sia un URI riposante
ha dettagli, sembra un verbo
giusto qualcos’altro
parametro di query qualcuno ha detto giusto così
questo risponderà anche a qualcos’altro
il cliente non ha una bomba unica
ID univoco o URI
per il cliente va bene così il cliente
può effettivamente essere identificato bene
che dire di questo che pensa che sia
non riposante perché no
contiene un verbo di nuovo okay qualsiasi cosa
altrimenti scusa sta ripetendo quello che dovremmo
fare con i verbi HTTP famiglia c’è a
cancella lì dentro qualcos’altro
qualsiasi altro commento su ciò che se io uso
una cancellazione da fare per invocare che è allora
riposante o non cancella l’eliminazione
Comando okay, che dire di questo
chi pensa che questo sia un URI riposante che
pensa che non siano macchie di cacca okay finale
uno su questo è riposante
alcune persone dicono perché è riposante
ha un ID okay che pensa che non lo sia
riposante perché non mi dispiace non ho catturato
che mi dispiace è un buon verbo in esso
di nuovo okay, quindi cosa succede se questo restituisce un
forma di modifica è quindi in persone tranquille
tu sei pazzo Non so perché questo
Succede tutte le volte
in realtà non pensiamo a ciò che abbiamo
ho mostrato questa diapositiva questa diapositiva write
a tutti in questa stanza l’ho mostrato a
tutti ho fatto un punto di dire lì
non è un URI riposante e
il secondo dopo ho messo su questa diapositiva
giusto e nessuno, tranne Ian, è così
probabilmente vero che alcune persone non l’hanno mai fatto
mai alzare le mani e io solo
Supponevo che non volessero rovinare il mio
stupido scherzo, quindi in sostanza puoi farlo
non fare assolutamente alcun tipo dal
lettere che dai personaggi che
crea un URI non hai idea di cosa
queste cose non ho nemmeno dirvi
che verbo io uso giusto quindi forse se lo faccio a
cancella su questo URI nel numero 3 che è
esattamente quello che voglio è un particolare
URI che è stato esposto dal server in modo che
qualcuno può fare una cancellazione su questo perché
non sarebbe riposante perché dovrebbe?
parametro di query non essere riposante questo è
solo personaggi a cui nessuno importa
i personaggi nell’URI ancora tutti
litiga su di loro tutto il tempo questo
succede tutto il tempo che le persone decidono di loro
voglio costruire qualcosa in modo riposante
moda così passano tutto il loro tempo
discutendo su dove vanno i tagli ora
è una buona discussione
come discutere di bella che tu sorga e io
mi piace davvero molto che ti presenti ma
non ha niente a che fare con il riposo perché
se lo guardi da un riposo
prospettiva non esiste una cosa come a
riposando il tuo occhio tutta la separazione in
parti differenti che puoi guardare
è tutto vero ma da un riposo
prospettiva questo è solo un grande singolo
cosa che non si dovrebbe essere preoccuparsi
i personaggi nell’URI perché cosa
si dovrebbe preoccuparsi non è che si tratta di
non le lettere e non i personaggi
dovresti preoccuparti del contesto
in cui appaiono proprio tu hai
qualcosa ti ritorna dal server
contesto scolastico è quello che dovresti essere
parsing o reagendo a quello è realmente
cosa fa il tuo browser almeno
il più delle volte il tuo browser
a meno che non si chiami il browser di Google
Google ma non è qualcosa che vogliamo
imitare le persone giuste non vogliono
dovrebbe non guardare l’URI dovrebbe
non guardare i personaggi perché
allora posso cambiarlo in qualcosa di simile
quello e funzionerà ancora a destra quello è a
contesto iper multimediale è il primo
test di tornasole per la tua API REST se
dipendi dai personaggi su specifici
personaggi nel tuo in cui ti presenti
cose da lavorare ora non sto parlando
è un server i server per un server
perfettamente bene a scomporre l’URI
in qualche modo spedire questo per uccidere come
altrimenti funzionerebbe io sono specificamente
parlare di clienti se mai lo trovi
te stesso all’interno del tuo cliente che si connette
cose che conosci usando una stringa
concatenazione qualcosa è davvero veramente
sbagliato perché non hai applicato a
ipermedia un contro aspetto del tutto
la cosa ha un senso, okay la prossima volta
qualcuno ti chiede questo URI riposante
Sii solo compiaciuto e digli che sei tu
stupido non farlo è il rischio che sia
la tua cosa rischiosa quindi dovresti essere davvero
attento bene così il prossimo che vedo
è questo ora questo una serie di voi
modelli arrivati ​​con get post post
piombo e gli effetti che ho effettivamente
Devo ammettere che ho sostenuto qualcosa
come quello per molto tempo come il
il modo perfetto per riposare mi piace dare
io e il beneficio del dubbio ho parlato
su I la cosa ipermedia troppo a destra
fatto quello ma non ne ho parlato come
fortemente come io oggi in realtà questi ragazzi
Ian e Jim e Savas lo hanno fatto molto di più
fortemente nel loro libro perché hanno fatto
ipermedia cosa molto molto importante
Fin dall’inizio sempre sostenuto
non esiste una cosa riposante
con Hydra Media ora questo è molto
meglio di quello che la gente ha fatto cinque anni
fa perché cinque anni fa potevi
spegnere un server usando un si spera
tutti in questi giorni capiscono perché
non è una buona idea, proprio perché il
Crawler di Google
presume che possano fare un get perché
non dovrebbe fare nulla
distruttivo e se tu chiudi a
server quando qualcuno emette di nuovo poi
è colpa tua se non proprio così
ce n’è un sacco ce n’è tutto
di
due cose stanno succedendo qui persone in realtà
costruisci le cose e va meglio, ma è così
ancora non quello che potresti effettivamente etichettare
riposante queste cose assomigliano a questo
chi ha qui un’API che sembra un po ‘
come questo
quindi la mia ipotesi è che molti di voi a destra, infatti,
la maggior parte delle persone che espongono effettivamente
un’API sul Web ha qualcosa di simile
che anche se anche le grandi aziende
fai qualcosa del genere, perché cos’è oh?
beh, cosa c’è di sbagliato in questo cosa?
vorresti cosa vorresti immaginare?
sbagliato con questa cosa
qualsiasi numero di versione va bene sono d’accordo
qualsiasi altra cosa
scopribilità perché mancanza di
scopribilità va bene, è un buon punto
qualsiasi altra cosa vedi questa cosa chi
pensa che non ci sia nulla di sbagliato in questo
mi ha morso va bene
Io non sono io non sto insultando ne sono sicuro
Proverò a non insultarti più tardi
Farò l’insulto in seguito più tardi così
che il problema principale a mio avviso è noi
rendi l’ URI l’API giusta per te
sorgono ora ciò che le persone codificano
contro il diritto è il deserto
descrizione dice che questo è ciò che l’URI
sembra che questo sia il loro codice
sembrerà che stia per cogliere
quelle cose insieme lo faranno
segui questi modelli e forse forse
metteranno quei modelli quegli URI
modelli che conosci con le parentesi graffe
nel loro codice così forse ma forse loro
forse non lo useranno solo come te
sapere come un modo per dire loro come
per costruire la loro concatenazione di stringhe
codice giusto questo è ciò che sta per succedere
è è separato dal reale
implementazione perché è un separato
documentare questo può essere utile se
sei se lavori in un’impresa questo
è in un file docx direttamente in un file Word
che puoi scaricare da SharePoint se
sei se sei sul web è un PDF
giusto se sei se sei davvero sul
web è un file HTML che è fantastico
ottima cosa se riposi davvero è parte
della tua app quindi questa cosa documentata dell’URI
è la prima prima cosa che il prossimo è
immediatamente collegato a ciò che è
ci sono supposizioni che ora
diventa un effetto così, per esempio, ho
in questo esempio ho
clienti e ordini proprio così gli ordini
sono una risorsa SUP sotto il cliente
che è da un bel design URI
punto di vista forse la cosa giusta da fare
perché la barra implica gerarchia sono io
parlando di qualcosa di riposante qui no
Non sono solo carino i tuoi occhi così
forse c’è una gerarchia che vuoi
esprimere così è per questo che si mettono gli ordini
sotto il cliente ma forse un anno da
ora vuoi mettere gli ordini in a
sistema separato ora tutti lo faranno
Supponiamo che possano prendere il cliente
URI e aggiungi gli ordini di barra per arrivare a
gli ordini che sono cattivi non è quello
dovrebbe succedere quello che dovrebbe essere
sta succedendo in una risposta da parte di
il server c’è un collegamento agli ordini
che segui per farlo giusto così tu
renderlo più dinamico e ovviamente
Josh ha ragione perché ci sono versioni
numeri e nascono e versione
i numeri e ti alzi appena fai schifo giusto
ognuno fa ciò che non fa
è meno schifoso, è solo uno stupido
idea non farlo che qualcuno voglia parlare
sul versioning hai ragione è
esattamente il punto in cui è il numero di versione
nell’URI perché l’URI è l’API
giusto questo è parte di esso, quindi se cambio
l’API ovviamente le regole per
la costruzione dell’URI è stata modificata correttamente
ora qual è l’alternativa cosa potremmo
facciamo così affrontiamo questo proprio molto
brevemente perché altrimenti lo farà qualcuno
chiedi la prima cosa che cosa succede quando parliamo
riguardo al versioning la prima cosa è
la prima domanda che dobbiamo porci è che cos’è
è che stiamo parlando di ciò che siamo
il versioning qui è il versioning del
i dati reali che conosci è forse questo
versione del cliente che tu sai questo è
la versione prima che George modificasse il
record del cliente e questo è quello
dopo ha curato è il gioco è fatto che è una
versione dei dati di cui stavano parlando
forse è una confluenza
documento o la versione di un file o
qualunque cosa se lo fai allora
quello è perfettamente bene è in realtà il
un caso in cui non ho nemmeno obiezioni
avere un numero di versione nell’URI
perché è solo una parte del
piuttosto si sta scrivendo di nuovo forse se
si vuole esprimere non mi interessa solo fare
che se vuoi se ti rende felice
basta farlo, ma questa è l’unica occasione
dove dovresti mettere la tua versione
numero nell’URI perché identifica
i dati che questo URI
punta a destra se fai tutto
numero di versione una cosa separata con la sua
fai un giro e forse vuoi relazionarti
in qualche modo in modo che la gente può vedere che
immediatamente lo stesso è vero logicamente
da deduzione per documentazione perché
documentazione è solo dati e giusti
questa è una delle cose belle in a
scenario riposante tutto ciò che puoi
Express come una risorsa è ora parte del
stesso stesso insieme di concetti, quindi ogni
pagina di documentazione che si può essere
la propria risorsa che è possibile collegare al
dagli altri pezzi rimandati e
avanti come sai formati se vuoi
tu bene io non sono una versione fan che sei
formati
Non penso che la versione uniforme di ATS significhi
molto ma se sei felice di farlo allora
chiama i tuoi media se lo fai tu
avere il coraggio di inventare il tuo dare loro un
suffisso del numero di versione o qualcosa che io
di nuovo penso che se il testo slash HTML
preso per per 20 anni, allora puoi
probabilmente a ma se tu se suo un po ‘
la ragione non vuole farlo e solo
metti un numero di versione qui
una cosa che ho davvero un problema è
una API perché non so nemmeno cosa
cioè se sono se sono un se io sono un grande
compagnia offre molte cose alla mia
i miei clienti qual è il cosa è il
limite della mia API è tutto ciò che faccio
è l’ API di Google quanto spesso è il
L’API di Google cambierà la sua versione
giusto se introducono un nuovo servizio è
questo è un cambiamento compatibile
qualcosa no non è non sta cambiando
qualsiasi cosa specificamente non è non è
cambiando l’identità di qualsiasi cosa come
sarebbe stupido se avesse ragione
c’è l’identità supponiamo di più
lunga vita
cosa che hai i loro diritti
dovrebbe essere stabile negli anni per farti raffreddare
sorgere non cambiare e tutto bene
lì scritto 15 anni fa, quindi quelli
le cose dovrebbero essere stabili mettendo a
numero di versione nell’URI significa che hai
per cambiare i tuoi occhi sono sempre
senza alcuna ragione, non è un bene
idea giusta, quindi quello che raccomando è
effettivamente utilizzare diversi tipi di media non
provisioning li usa per diversi
le cose tipo di ovvio diritto usano il
numero di versione nell’URI se lo si desidera
fai la versione della cosa giusta te
conosco quel particolare documento che sto bene
con quello
e crea nuove risorse se ne hai di nuove
aspetti è una specie di standard
strategia di versioning giusto devi
hai qualche cosa nuova che vuoi dire
su questa roba così costruiremo quella nuova
cosa
collegato a quello che è quello che
il web è davvero fantastico, a destra nuovo
cose che sono collegate all’esistente
cose che significa ovviamente che tu
è necessario prenotare lo spazio per i collegamenti proprio così
si deve essere in grado di all’interno di tale
la rappresentanza esistente ha un posto
dove puoi mettere i link aggiuntivi
roba giusta e che deve essere progettata
nei tuoi formati dal vero
all’inizio è una cosa molto importante
e per far felici le persone perché alcune
l’architetto sta per dirti di avere
per avere versioni della versione del tuo documento
funziona incredibilmente bene, basta fare un
documento che dice che questo è il
documentazione della nostra API e darla
versione 2.1 è bello
ora tutti hanno la versione che è giusta
solo la versione di quel documento e
puoi applicare qualsiasi logica di versioning
ti piace non ha nulla da fare
non appartiene affatto al tuo
scambi effettivi che non ha
qualsiasi cosa abbia a che fare con le tue identità
non ha niente a che fare con il tuo
formati è solo un documento che tu
versione giusta quindi sì, in realtà
dicendo che non dovresti essere il versioning e
Sono davvero felice che Josh abbia detto la stessa cosa
cosa stamattina così apparentemente alcuni
le persone possono fare non sono felici
con esso qualsiasi domanda riguardo a ciò
i disaccordi qui arrivano sulle persone
devi essere in disaccordo, qualcuno deve fare
che sì, per favore
quindi stavi dicendo che c’è un granello
inserisce il numero del versetto nell’HTTP
header Non sono consapevole bene, naturalmente
puoi sicuramente inventare intestazioni personalizzate
quanto vuoi con gli stessi professionisti
e contrasta ciò che si applica se inventi
i tuoi verbi HTTP che puoi fare
che allehi la semantica a qualcosa
non è standardizzato ora
in realtà forse trovare una sorta di legame a
il vincolo di auto descrittività
giusto forse auto-descrittivo per te
significa che è ben definito all’interno del tuo
la compagnia è ben definita nel tuo
organizzazione e i pari che interagiscono
con esso va bene è come se fosse
come uno standard locale che hai
stabilito se lo fanno tutti e che
va bene , non troverai nessuno standard
infrastruttura che farà qualsiasi cosa
significativo con quello che potresti essere
a rischio che qualcuno lo lascerà cadere
intestazione ad esempio perché qualche proxy
filtrerà tutte le intestazioni no
So che ci sono alcuni rischi ma forse
ne trai beneficio da ciò che obietto
è che in realtà devi farlo
perché quello che penso è quello che è un
regola generale giusta, quindi questo è in realtà
questa cosa in particolare qui va bene
sappi che la legge di Pascal è un tipo
del principio di robustezza cose che
rendere semplici le cose, quali
essenzialmente significa che dovremmo tutti dovremmo
sii carino l’un l’altro quindi se tutti
è giusto se tutti lo sono
letterale quando accettano qualcosa e
Ridgid quando inviano qualcosa se non
tu fatturhi le cose bla bla bla
ti costruirai con un più resistente
rete di cose giuste è così
tipo di idea ogni volta che fai
sei molto severo riguardo alle cose
che accetti sul lato entrante te
introdurre una potenziale rottura che
non dovresti essere lì perché sei veramente
solo essendo un asino, tu sei giusto
guardandolo e dicendo benissimo che io
potrei farlo, ma non lo farò
non segue le specifiche che mi rifiuto di
processa questo signore, non ti suona
sappi che non suona come qualcosa
che in realtà vuoi fare in un sistema
quello dovrebbe funzionare al contrario di
uno che dovrebbe soddisfare alcuni
regola architettonica, ma questo è solo il mio
solo il mio modo di vedere le cose proprio così
ci sono alcune regole che in realtà dicono
cosa dovresti e non dovresti fare
per abilitare questo diritto in etichetta questo
questo Questo
tipo di comunicazione sei tipo
dovrebbe effettivamente dire una parte ricevente
la sinistra dovrebbe supportare collegamenti sconosciuti
ignora il contenuto sconosciuto che è un generale
principio giusto non cadere a pezzi se
qualcuno ti manda un campo che tu
non è quello che non ti aspettavi se lo sei
non usarlo quindi cosa basta passarlo
o ignorarlo ma non solo lamentarsi
certo, certo che non dovresti esserlo
solo la rottura si arised record
anche se ho visto persone farlo così
parte del loro conto è proprio loro
ogni tanto rompono tutto l’ URI
strutture sul server per vedere quale
i clienti falliscono, il che è piuttosto divertente
approccio che puoi fare solo in a in a
scenario un tempo in cui hai il potere
i tuoi clienti non lo fanno se
sei una web api e semplicemente non è un
buon modo quindi tornare dal versioning
giusto se abbiamo questa idea di iper
media ti ricordi di questo tavolo che ho avuto
con queste cose cos’è cos’è a
possibile passo e una cosa che puoi
fare se si dispone di un’API REST e vuoi
renderlo più iper mediatico è consapevole
introdurre qualcosa come chiamare un servizio
documento che è un termine di pietra giusto così
il documento di servizio è come una casa
pagina giusta questa è una home page per il mio
servizio di gestione degli ordini a cui sono collegati
cose ragionevoli che si potrebbe desiderare di
accesso da lì e naturalmente da te
potrebbe codificarlo in XML o in un altro
formato leggibile dalla macchina e poi
in sostanza il tuo cliente fa lo stesso
cosa che avresti fatto un utente se
hai guardato quella pagina proprio qui il
il client non è più codificato in modo rigido
l’URI
è hard-coded contro il valore di
questo rel cosa giusta, quindi se cercate
esempio al cancellato o il
relazione di collegamento soddisfatta quindi questa
dice bene qui, se si se si vuole
dai un’occhiata agli ordini che sono
fatto già allora segui questo link
relazione se cambio l’URI a punto
a qualche sistema di archivio non interessa a nessuno
giusto perché è solo un livello di
indirezione non è magia, non è AI
o qualsiasi cosa è semplicemente semplice
aggiungendo un livello di riferimento indiretto che
potrebbe essere esattamente quello che vuoi fare se
hai un dispositivo come questo giusto così
quello è un dolore un dolore da aggiornare
giusto, fa davvero schifo per averlo per
che devi aggiornare un’applicazione
uno di questi allora puoi farlo davvero
in questo modo e questa cosa diventa
magicamente consapevole di nuove cose o di nuovi look
le cose per cui lo paghi
con questo extraindirizzamento che tu
puoi alleviare un po ‘la cache ma tu
possono beneficiare perché ora avete questo
livello extra giusto piuttosto ovvio e di
Ovviamente XML è totalmente non cool, così l’ho messo
nel JSON molto in questo ci sono
alcuni standard che coprono questo diritto
Cenacolo json tutto che è una bozza
cosa ma è per marchio nottingham così
presto sarà uno standard ed è così
in realtà una versione un po ‘standardizzata
di quello che è il primo set a
il documento di servizio è ancora qualcosa
è una cosa separata dal tuo reale
dalla tua vera risorsa giusto è
ancora è un po ‘metadati come ma
è, almeno nella tua scrittura replica
perché l’ ho preso dall’applicazione
l’idea è che il mio cliente ha bisogno
un singolo URI gli dai un URI e
è da lì in poi può solo
scopri tutto il resto risolvendolo
problema reperibilità in questo momento che è
è molto meglio che avere
in un documento Word o PDF perché ora
lo stai mettendo nel reale
runtime il server all’avvio
inizierà a servire il documento di servizio
con i giusti collegamenti forse anche il
capacità giuste ma ovviamente tu
avere risorse in primo luogo, giusto
quindi se hai risorse perché non aggiungere
collegamenti a loro fin dall’inizio
giusto così se io se faccio qualcosa se ottengo
un ordine posso tornare in ordine e
che l’ordine può avere i link che puntano
io ad altre cose che dovrebbero avere il
link che mi indicano altri interessanti
roba giusta quindi la sintassi no
ho ragione, ho usato qualcosa con esso
con un array qui è buono
cosa se stai programmando Java o hai
persone che lo fanno e questo è un
un po ‘meglio se hai un moderno
linguaggio di ammok non ha molta importanza
hanno il punto importante è che tu
avere un posto dove puoi mettere dei link
e che tu lasci nel segnaposto
per il modo in cui a cui mettere più di
loro giusto in modo che tu possa evolvere questo
cosa nel corso del tempo e aggiungere
cose più interessanti per questo è il
la seconda cosa è che il primo è dopo
documentare la seconda è lo aggiungiamo a
le risorse che il terzo è a
effettivamente lo uso per il suo scopo originale
che è quello di guidare l’interazione a
dare ai clienti l’opportunità di scegliere
da destra quindi se ho una sorta di
state macchina un flusso che è codificato
nel mio server giusto certe cose nel
ciclo di vita questo
di un ordine natale è andato a spostarsi da
quale soggiorno – quale prossimo soggiorno allora
puoi esprimere quelli possibili
transizioni nella risposta ipermedia
così quando il server restituisce una risposta a
il cliente che la risposta includerà solo
i collegamenti che hanno senso e il cliente
può quindi farlo solo perché è possibile
solo seguire quelle cose ha senso
giusto quindi controlliamo il flusso di
un cliente per mezzo delle risposte che
siamo tornati dal server è di nuovo
proprio come un’applicazione HTML basata su browser che
non è una coincidenza perché è giusto
il web è proprio questo resto
non è una cosa di servizi è il
architettura del web, quindi, di nuovo
questo rendere il client super intelligente è
ora è ora intelligente è ora a
naturalmente, non è questo l’obiettivo
Giusto nessuno nessuno in questo spazio di riposo
non nel resto di questo potrebbe essere nel
stesso spazio web ma nessuno lo spazio di riposo
crede davvero in due sistemi
diventa magicamente intelligente solo questo
significa che non sei dipendente da uno specifico
URI a seconda di cosa
ti reindirizza a quello che sei arrivato giusto
questo è l’unico che è davvero e quello
ti dà certa certa flessibilità
qui ora è una cosa carina ma è così
ancora non non il malinteso completo
perché molte persone lo fanno bene ma
pensano ancora questo giusto ipermedia
è le risposte con i collegamenti giusto così è
tutto ciò di cui ho parlato ha senso
non me ne pento, ma non è il
tutta la storia, perché i collegamenti sono giusti
una parte di hypermedia
i collegamenti sono davvero una cosa interessante che è un
cosa molto bella e se hai un RESTO
API che utilizza collegamenti per controllare il
client per rendere il client più dinamico
allora hai costruito qualcosa di carino
ma tu puoi andare oltre quello
la prossima cosa che puoi fare è che puoi
in realtà dare un’occhiata a più
Interessanti controlli multimediali di Hydra così
la prima regola di cui abbiamo parlato sei tu
non voglio che i clienti costruiscano il tuo
occhi usando la concatenazione di stringhe a destra
è per questo che siamo passati dal descrittivo
API in quel documento HTML a qualcosa
questo è contenuto nelle risposte
sei tornato dal server giusto ma
il problema è che non puoi sempre
enumerare tutto il possibile che nascono come
lo faresti se è se può essere
uno dei 20 milioni di clienti come stai
andando a fare un ritorno una lista se quello
non ha senso
giusto quindi devi in qualche modo dare il
cliente un modo per venire con il prossimo
richiesta con l’inclusione dell’URI
conoscere tutte le cose che hanno bisogno di
avere per la prossima richiesta con qualche tipo
di diritto di ricetta che è perfettamente a posto
così come è possibile fornire una ricetta per
il client è anche ipermedia in realtà
lo fai sempre con questo
esempio giusto questo è in qualche modo simile
a come appare la home page di Google
destra ha un po ‘di più roba in esso, ma
essenzialmente è quello che era solito guardare
come dovrebbe essere, ma è così
non scrive che ha solo una casella di ricerca
e quella casella di ricerca ti consente di entrare
una query e da una prospettiva di riposo voi
può visualizzare questo come un modulo di costruzione URI
giusto tu restituisci questo dal server a
il cliente e ora il cliente entrerà
una query e quando hanno colpito invia perché
è una forma di ottenere un nuovo URI sarà costruito
in realtà è il modo in cui è stato costruito
è in realtà nella specifica HTML non nell’URI
specifica o la specifica HTTP la specifica HTML
ti dice come un modulo viene trasformato in a
URI quando hai un modulo get così che cosa è
costruito è una nuova query e quella query ha
quello che usano qui query equivale
qualcosa con il testo che
hai inserito nella visualizzazione della ricerca così tu
fornire al cliente una ricetta per
costruendo un numero qualsiasi di te utile
sorgere e puoi fare la stessa cosa
usando un formato leggibile dalla macchina non lo è
come se l’HTML non fosse leggibile da una macchina
la gente non vuole usarlo, quindi facciamolo
basta usare JSON qui e ho un URI
modello che è ormai anche uno standard
e questo in realtà ti dice che è l’ esatto
stessa cosa , ti dà te, Orion
sembra hard coding ma non lo sei
hard coding quindi i personaggi nel
URI stai solo dicendo che vuoi
ti aspetti di trovare un parametro di query in
lì una volta che hai un parametro di query
puoi mettere la tua domanda in
quello slot e quindi creare un nuovo URL giusto
quindi questo è ciò di cui realmente dipendi
e puoi farlo anche tu puoi fare anche
più di quello che è dare al cliente
un modulo che forse contiene alcuni valori predefiniti
dati giusto questo è come questo è come
un modulo HTML che non viene mostrato
potresti avere alcuni campi nascosti
è una forma in realtà sto raccontando
il cliente come costruire la prossima richiesta
la prossima richiesta di post
è il controllo ipermediale e
emetti questo caso particolare dice al
cliente bene se vuoi postare
qualcosa per me questo è il questo è il
formato che mi aspetto con alcuni valori
con alcune informazioni sul tipo è giusto
tutto dinamico è tutto in runtime che hai
l’informazione che questo è un testo
campo e questo è con new html5
controlla questo è un campo di posta elettronica è un
campo della data e quindi si può riempito in
e inviarlo al server che
essenzialmente significa che puoi dire al
client per inviare una richiesta che il
il cliente non sapeva come costruire quando
fu costruito
giusto in modo da estendere dinamicamente il
capacità del client di inviare a
richiesta puoi fare la stessa cosa con
Anche JSON restituisci qualcosa
al cliente per Matt non importa
si restituisce qualcosa al cliente e
il cliente è quindi in grado di usarlo
costruisci la prossima richiesta che è molto
meccanismo molto potente per costruire cose
così va bene qualsiasi domanda riguardante
che quindi la domanda è quanto
informazioni a cui gli occhi possono aver inviato
il diritto del cliente posso farglielo sapere
cosa mi aspetto esattamente qui non in HTML
non ancora non ora è meglio è
diventando meglio nel tempo tutto il tempo
e ci sono alcuni modi in cui puoi farlo
quello con il tuo più o meno
formato proprietario in modo da poter avere te
potrebbe avere qualcosa come JSON e link
che a uno schema JSON usi qualcosa di simile
JSON oldie molte cose che ti permettono
per fare un po ‘ di quello nessuno di loro che
ti permette di farlo in maniera perfetta
la moda va bene così bene, così la forma include
il tempo E e C ovviamente sei tu
limitato se stai dipendendo
se ci si aspetta questo a lavorare in
browser che significa che è un fisso
impostare o se si è disposti ad estendere
quello a qualcos’altro che intendi
te stesso che è un buon punto, sì, abbiamo
più modi per dire come il
le informazioni reali dovrebbero essere codificate
quando viene inviato dalla moneta al
server qualcos’altro
quindi lasciate che vi lascio con una finale
che è qualcosa che non penso molti
le persone comprese me stesso lo fanno la maggior parte di
il tempo in cui pensiamo al riposo lo siamo
parlando di servizi che è questo
sbagliato è un tipo diverso di
discussione Non sto parlando del modo
potremmo costruire web UI a meno che tu non lo sia
disposto a passare un po ‘di tempo in più
più tardi ti parlerò per ore
tutto ciò di cui sto parlando
circa è anche quando stiamo parlando
interazione tra macchine e macchine
tipicamente hanno questa visione di costruire a
interfaccia di servizio che stiamo costruendo
un’interfaccia per alcune funzionalità giuste
e, in qualche modo, non è proprio quello
dovremmo fare bene, siamo noi
ovviamente non facendo quello che sarebbe
conosci qualche integrazione punto a punto
tipo di cosa ma crediamo che stiamo facendo
Questo
crediamo che stiamo costruendo una API per a
server che verrà utilizzato da molti client
e possiamo farlo in modi che sono di più
o meno rilassato, ma quello che davvero
dovrebbe fare se vogliamo davvero fare
cose dal libro e ottieni il sigillo completo
di approvazione del resto chiesa alta
qualcosa che dovremmo costruire
tipi di media hyper che sono indipendenti
di un server particolare ma non dovremmo
costruire qualcosa come un’API di Twitter
dovrebbe farlo che non dovremmo essere
costruendo una confluenza o una API JIRA noi
dovrebbe essere la costruzione di un tracker iper media
formato perché quel tracker hyper media
il formato mi permetterebbe di connetterti
client che conosce il formato ipermediale
a qualsiasi server che supporti tale diritto
in effetti mi permetterebbe di connetterti
client a qualsiasi numero di server che
supporto che pensa contemporaneamente
ciò che il tuo browser è in realtà il tuo
il browser è un client che parlerà con a
molte macchine allo stesso tempo, giusto
poiché è quasi magico è quasi come se
potresti avere un cliente che potrebbe pubblicare
il tuo stato sia su Twitter che su Facebook
immagina quanto sarebbe pazzo l’innovazione
ci siamo ovviamente idee
ovviamente ragioni per cui né Twitter né
Facebook vuole che tu ad avere questo, ma
questo non significa che non lo sia
tecnicamente la cosa giusta e forse noi
dovrebbe essere la costruzione di cose in quel modo, forse
dovremmo progettare la tua fantasia
iper formati multimediali tranne che è a
è davvero un sacco di lavoro è davvero
difficile da fare, forse dovremmo semplicemente usare
certo, questa è una di quelle cose
l’applicazione era in qualche XML che è
in realtà un formato standardizzato c’è a
c’è un protocollo di pubblicazione come a
formato di syndication che puoi usare
costruire cose o potremmo usare qualcosa
come ricerca aperta o potremmo usare uno di
quelle imminenti nuove cose fantasiose come
collezione più JSON o Jason indifeso
questa ricerca frenetica è davvero divertente
JSON impotente o sirena più giorni in lotti
di formati esistenti che è possibile utilizzare
per farlo o questo è il pensiero finale
potresti semplicemente andare con il testo in HTML ma
Voglio dire che è molto molto diffuso
formato perché non utilizzare che per una macchina
comunicazione della macchina giusta che sarebbe
essere un aspetto davvero carino perché dopo
tutto se guardi questo perché è questo
completamente accettabile e questo no
non c’è davvero alcun motivo per cui un tipo di
La cosa XML II va bene e l’ altra
non è disponibile in modo da sapere concludendo con la
i vantaggi dell’uso dell’HTML sono i tuoi
formato multimediale si ottiene questo di ubiquità in
media hyper supportati ben noti
controlla un client standard piuttosto buono
un sacco di strumenti di programmazione e
essenzialmente come Ian mi ha detto questo
mezzogiorno UI è un piacevole effetto lato destro tua
API diventa magicamente utilizzabile da a
browser se usa solo HTML come suo
formato ma sappiamo tutti che è una chiacchiera pazzesca
perché non lo faresti mai bene
non useresti mai l’ HTML aspettando solo un
l’anno in cui sta suonando proprio come
pazzo come ha strappato 10 anni fa e forse
sarà la cosa del futuro
questo è tutto ciò che ho adesso anche così
il commento è stato nessuno dei miei esempi ha fatto
Parlo di come dovrebbero essere questi collegamenti
accesso a destra non ho mai fatto
dire che un utente arriva qui nell’hyper media
formato da qualche parte si potrebbe ottenere un
ti riporto tranne nell’esempio HTML
nell’esempio HTML ho effettivamente avuto un
modulo che ha avuto un get o post in esso
giusto quindi ci sono due modi in cui puoi farlo
che o hai hard-coded nel tuo dentro
la descrizione del tuo formato, quindi se tu
inventare il formato, allora è il tuo
potrebbe essere la tua scelta come fa HTML con
il tag IMG per dire che hai un tag come SRC
è uguale a qualcosa e tu sei sempre e solo
dovrebbe fare un get e questo è quello che
dice riguardo ai tuoi media iper
formato o potresti renderlo esplicito
come Adam fa o come HTML s con a
elemento di forma e basta avere un tipo o
attributo di azione o metodo che dice
la scalata per fare che la domanda è come
tanto che in realtà non dare
è per questo che tendo a non inserirlo
perché ho appena assunto al cliente di essere
non così intelligente da farlo in fase di esecuzione I
supposto che il cliente sia abbastanza intelligente
per determinare di avere l’URI
determinato in fase di esecuzione
Non penso che abbia molto beneficio
a condizione di flessibilità ma forse lo sono
sbagliarlo dipende solo molto dal tuo
caso d’uso sarebbe perfetto per
includi anche quel metodo
le forme sono lontane dalla programmazione che farò
pienamente d’accordo con quello sì, quindi dipende
il browser ovviamente è molto molto
cosa molto dinamica dinamica del browser
non sa che stai ordinando un libro
e se stai costruendo un cliente
livello di generosità è che un lavoro a
quel livello di essere generico in quel momento
allora ha perfettamente senso avere di più
informazioni nei controlli hydro media
meno generico è il più specifico
il cliente diventa il minor numero di informazioni
articoli il minor numero di aspetti di cui hai bisogno
per specificare nel formato hypermedia così
ci sono molti modi per specificare il
azioni che puoi fare con il
documentare una delle cose più comuni
è includere le relazioni di collegamento e
hanno quelli che significano per la moneta così
se ho un documento che posso modificare e
c’è una relazione di collegamento che mi permette
per modificarlo che potrebbe effettivamente essere un bene
esempio per non dover specificare
se è un get o put così se colla
il link link rel è uguale a edit that in my
documentazione direi ogni volta che tu
trova quel collegamento che puoi ottenere
diventa un modulo di modifica o puoi semplicemente metterlo
il nuovo contenuto quindi quello sarà il
semantica di questo particolare tipo di
link sai e ho potuto vedere che questo
è un semantico perché il link Modifica
la relazione sarebbe documentata ma di fatto
è documentato esattamente in quel modo e
potresti potresti solo tu potresti semplicemente
usa quell’eccellente domanda che uso
Conosco qualsiasi esempio di ampiamente usato
API pubblica è quella che segue pienamente questo
modello no ci sono alcune cose come
c’è una nuova API di Amazon che ho dimenticato per
quale scopo era quello usa l’inferno e
solo alcuni aspetti ipermediali ci sono a
l’ API di richiesta pull github che lo fa
alcuni di questi, ma la maggior parte
quelli che fanno cose veramente importanti no
ho molto hypermedia, penso Facebook
ha alcuni ma un altro utente di Facebook così io
non saprei scusare il timbro al cloud
API per Sun, ma questo è Sun e per
almeno noi non abbiamo molto di che sinistra
di nuovo ma sono un po ‘ ottimista riguardo
il tutto se ha valore I
credi che abbia poi apparirà
in sempre più KPI pubblici
a meno che non abbiano una ragione che non lo è
tecnico ma piuttosto sai murato
giardino piace non abilitare quel tipo di
roba quindi grazie mille per la tua attenzione
Sono in giro se vuoi fare domande
divertiti alla conferenza
tu

Please follow and like us: