Come stagista estivo presso JMP , il mio progetto prevedeva il lavoro con le API sul Web.Ho avuto una certa curva di apprendimento nelle prime settimane del progetto poiché stavo cercando di far funzionare diverse API in JMP o se fosse addirittura possibile. Sono stato in grado di raggiungere un punto di comprensione quando ho visto questa analogia in un video chiamato Cos'è un'API RESTful? Spiegazione di REST e HTTP :
Immagina di essere in un ristorante. Tu sei il consumatore/utente, la persona che interagisce per ottenere qualcosa che vuoi indietro da qualcun altro. Il cameriere che viene a prendere il tuo ordine può essere paragonato a un'API; il cameriere verrà a prendere il tuo ordine e prenderà (Inviare) torna in cucina (o in questo caso, il server o qualsiasi tipo di software con cui l'API potrebbe comunicare) . Quando l'ordine è completo (o il software o il server fornisce una risposta) , il cameriere tornerà e ti darà il tuo ordine (eseguire la tua richiesta) . La richiesta è completa!
Dopo aver trovato questa analogia, avevo un buon modello mentale di come funzionavano le API.
L'obiettivo del mio progetto era creare un file JMP componente aggiuntivo che potrebbe accedere alle API REST sul Web.Avevo bisogno di mostrare alcuni esempi funzionanti e anche insegnare agli utenti le API REST e aiutarli a capire cosa sta succedendo dietro le quinte mentre usano il componente aggiuntivo.

La motivazione alla base di questo progetto è stata la nuova funzionalità di HTTP Request() in JMP 14. Le API, in particolare lo stile architettonico di REST, sono qualcosa che è ancora considerato relativamente nuovo. La mia prima sfida è stata conoscere REST:
Un'API REST o RESTful è un'API con i componenti e le qualità di uno stile architettonico REST. REST è l'acronimo di Representation State Transfer e definisce un protocollo e un insieme di operazioni standard per il comportamento di applicazioni ben progettate. REST è utilizzato principalmente dai browser e il framework potrebbe essere chiamato "il linguaggio di Internet". Per essere considerata RESTful, un'applicazione deve avere sei attributi principali: architettura client-server, assenza di stato, possibilità di utilizzare la cache, essere un sistema a più livelli, capacità di eseguire codice su richiesta e disporre di un'interfaccia uniforme. Dal punto di vista dell'utente finale, non importa molto se un'API è RESTful o meno, ma ci sono molti vantaggi dal punto di vista della programmazione nell'essere RESTful, motivo per cui è diventata lo standard per le API.
La prossima sfida che ho avuto è stata con JSL. Non ero sicuro di come avrei voluto creare un'interfaccia utente per il componente aggiuntivo in JSL, quindi ho dato un'occhiata a Appbuilder per JMP. Ho deciso di lavorare sul componente aggiuntivo utilizzando Appbuilder poiché potevo separare lo script per il back-end dallo script per il front-end (o in questo caso, Appbuilder) e organizzare tutto visivamente.
Ecco come si presenta il prodotto finale:

Ho fatto una ricerca e l'ho compilato nel pulsante Aiuto in alto, per coloro che desiderano maggiori descrizioni dei diversi metodi di autenticazione. Fornisce una descrizione di ogni tipo di autenticazione che affronteremo.
Poi è stata la parte divertente. Ho trovato diverse API a cui accedere per utilizzarle all'interno del mio componente aggiuntivo. L'API CAT è la mia preferita, quindi l'ho usata due volte (una volta senza autenticazione e una volta con). Ogni volta che fai clic su Invia, viene visualizzato un nuovo gatto!


Dopo aver fatto funzionare l'API Cat, ho trovato molti altri buoni esempi e ho incluso quelli che mi piacciono di più nel componente aggiuntivo.

Mi è particolarmente piaciuto lavorare sull'esempio di Tumblr, poiché recupera così tante informazioni (l'intero blog di Tumblr). Non sono stato in grado di visualizzare le informazioni recuperate Quello carino, ma penso che faccia ancora un buon lavoro. Per chiunque desideri recuperare informazioni su un diverso post di Tumblr, può cambiare l'indirizzo del blog di Tumblr nello script JSL qui:

L'ultimo esempio era qualcosa di speciale. Dropbox è un esempio su cui aveva già lavorato uno degli altri principali sviluppatori. Ho voluto integrare questo esempio nel mio componente aggiuntivo per cercare di renderlo il più user-friendly possibile in modo che chiunque non avesse esperienza di programmazione potesse usarlo. Il fatto che possa caricare in remoto un file e una cartella con il clic di un pulsante tramite JMP mi stupisce ancora.

Spero che lo proverai. Si prega di lasciare eventuali domande o commenti.
Per istruzioni sull'utilizzo del componente aggiuntivo stesso, fare riferimento al mio post Iniziare con REST .