Cos'è un'API? Perché API in ROR?
Un'API è un'interfaccia di programmazione delle applicazioni. È un'interfaccia tra l'interno e l'esterno in cui l'esterno interagisce con l'interno utilizzando dei codici. Quindi l'interno può essere un server o un dispositivo come un cellulare, un iPad, librerie software come Ruby on Rails, JQuery ecc. che interagiscono con HTTP attraverso il web.
Le API sono costruite come un componente dell'applicazione. In pratica, è necessario disporre di un'API web se si desidera memorizzare ed elaborare i propri dati in un server e consentire a qualsiasi altra applicazione (applicazione web, applicazione mobile, dispositivi iOS ecc.) di richiedere e ottenere i dati da quel server, se necessario. Queste altre applicazioni possono far parte del vostro sistema o potete aprire i vostri dati all'uso di altri.
Vantaggi della creazione di un'API
Possiamo separare il front-end in Angular JS, Ember JS o altri framework client popolari per creare un'interfaccia utente personalizzata.
Vantaggi:
- Molta flessibilità
- Costi di manutenzione inferiori
- Maggiore scalabilità
- Semplicità
- Lo sviluppo API consente inoltre di integrare facilmente altre interfacce utente, risparmiando molto tempo.
Svantaggi della creazione di un'API
- Poiché il codificatore invia messaggi ripetutamente con informazioni ridondanti, ciò aumenta la larghezza di banda.
- Latenza trascurabile
- L'uso delle intestazioni è goffo e lega l'API alla risposta HTTP.
API REST in Rails
La convenzione Representational State Transfer per Hadoop sviluppata in Web.è lo stile architettonico del software per il web. L'architettura è utilizzata per dare flessibilità nel recupero dei dati attraverso alcuni endpoint. Viene eseguita su protocollo HTTP.
Come si effettua una RICHIESTA API?
URL = HTTP, HOSTNAME, URL
Ad esempio, URL: -https://portal.ehealthpro.com/blogs
Protocollo URL SERVER
Ogni risorsa ha due URI, uno rappresenta le collezioni dell'elenco, ad es, https://portal.ehealthpro.com/blogs e l'altro rappresenta l'elemento, cioè rappresenta il singolo elemento di quella collezione https://portal.ehealthpro.com/blogs/12
Per costruire un'API, possiamo usare la gemma “gem rails-api”.”
https://github.com/rails-api/rails-api , In generale, l'API deve rispondere all'identificatore uniforme di risorse (URI) e all'HTTTP. Quindi,
Nei percorsi,
Spazi dei nomi
Il generatore di Rails crea un Userscontroller e le relative specifiche delle rotte. Nelle rotte di cui sopra, definendo uno spazio dei nomi nel file routes.rb, Rails mapperà automaticamente quello spazio dei nomi in un indice che coordina il nome sotto la cartella dei controllori, la cartella api/. La risposta viene fornita in formato JSON, quindi è sufficiente specificare questo formato come predefinito. Impostando l'API sotto un sottodominio, l'applicazione passa a un livello DNS.
L'opzione path consente di impostare il percorso di partenza di qualsiasi richiesta come root rispetto al sottodominio.
Controllo delle versioni
Il versionamento dell'applicazione fornisce la struttura di base dell'API e, inoltre, quando è necessario apportare modifiche, possiamo dare agli sviluppatori l'opportunità di adattarsi alle nuove funzionalità, mentre quelle vecchie vengono deprecate. Per impostare la versione dell'API, dobbiamo innanzitutto aggiungere un'altra directory sotto l'API che abbiamo creato, cioè “v1”, in modo da poter aggiungere la nostra API in diverse versioni, a seconda delle nostre esigenze.
Modulo di ambito: :v1,
Vincoli: ApiConstraints.new(version: 1, default: true) do
.........
Fine
Generazione del controllore
Comando utilizzato per generare il controllore User, rails generate controller API:: v1::users
Tecnicamente JSON è un formato leggero per lo scambio di dati, un insieme di coppie nome/valore. In vari linguaggi, viene realizzato come oggetto, record, struct, dizionario, tabella hash, elenco di chiavi o array associativo.
In rails, esiste una gemma chiamata Active model serializer per implementare la risposta JSON. Utilizzando questa gemma, otterremo il formato corretto del JSON.
Active Model Serializer è un ottimo modo per costruire risposte JSON utilizzando un approccio orientato agli oggetti. Gli oggetti hanno un aspetto molto simile a quello dell'oggetto ActiveModel in termini di attributi e relazioni. Inoltre, consente di scegliere il connettore per decidere quale tipo di struttura JSON viene prodotta o di costruirne una propria.
Il codice di stato HTTP è solo un modo per dire in modo uniforme all'utente qual è la risposta, se la risposta mostra un errore o meno.
E alcuni dei codici di stato sono,
200 - OK , ottenimento riuscito
204 - Nessun contenuto, Elimina o Pubblica con successo
201 - Creato - Post di successo
422 - Entità non processabile
401- Non autorizzato, errore di autenticazione
SICUREZZA
Per motivi di sicurezza nella nostra applicazione API, possiamo utilizzare HTTPS,
Rails.application.configure do
config.force_ssl = true
FINE
Infine,Testare l'API,S
linea di comando: - curl o htttpie
Browser: - Postman, formattatore JSON
Rspec :- Richiesta di specifiche
Rails Minitest :- Test di integrazione
RailsCarma ha fornito servizi di consulenza e sviluppo di Ruby on Rails negli ultimi 8 anni. I nostri sviluppatori sono esperti nel fare tutti i tipi di lavoro di sviluppo di ruby on rails e gestire qualsiasi tipo di progetto. Contattaci per saperne di più sulle nostre capacità di sviluppo e sui progetti che possiamo gestire.