API dell'applicazione con Ruby on Rails

Cos'è un'API? Perché API in ROR?
An API is an application programing interface. It’s an interface between inside and outside where outside interact with inside using codes. So the inside could be a server or devise like mobile, IPad, software libraries like Ruby on Rails, JQuery etc., interacting with HTTP through the web.
API’s are built as a component of the application. Basically we need to have a web API if we want to store and process our data in server and let any other application (web application, mobile application, iOS devices etc.) request and get data from that server if needed. These other applications can be part of your system or you can open your data for others to use.

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
Representational state Transfer convention for Hadoop developed in Web.is the software architectural style for the web. The architecture is used for giving flexibility to retrieve data through some endpoints. It runs over HTTP protocol.

How does one makes an API REQUEST?
URL = HTTP, HOSTNAME, URL
E.g. URL: -https://portal.ehealthpro.com/blogs

Protocol  SERVER  URL

Each resource has two URI’s, one represents the collections of the list i.e., https://portal.ehealthpro.com/blogs and other represents the item, i.e. it represents the single item in that collection  https://portal.ehealthpro.com/blogs/12
For building an API, We can use the Gem called “gem rails-api”
https://github.com/rails-api/rails-api , Generally, API needs to respond to uniform resource identifier (URI) and HTTTP. So,

In Routes,

Sviluppo delle rotaie 1

Spazi dei nomi

Rails generator create a Userscontroller and related routes specs. In the above routes, by defining a namespace under the routes.rb file, Rails will automatically map that namespace to an index coordinating the name under the controllers folder, the api/ directory. And the response we are acheiving via JSON format, so we just need to specify this format as the default one. Setting the API under a subdomain due to escalate the application to a DNS level.
And path option is to set the starting path for any request to be root in relation to the subdomain.

Controllo delle versioni

Versioning the  application provides the basic structure to the API, and also when changes needs to be  done then we  can give developers the opportunity to adapt for the new features while old ones are being deprecated. In order to set the version for the API, we first need to add another directory under the API we created i.e. “v1”.we can add scope our API into different versions according to our convenience.

Scope module: :v1,
Constraints: ApiConstraints.new(version: 1, default: true) do
………
End

Generazione del controllore
Command use to generate the User controller, rails generate controller API:: v1::users

In controller we need to do the requests respond with JSON data, Technically JSON is a lightweight data-interchange format, a collection of name/value pairs. In various languages, this is realized as an object, record, struct, dictionary, hash table, keyed list, or associative array.
In rails, there is a gem called Active model serializer for implementing the JSON response. By using this gem we will get the proper format of the JSON.
Active Model Serializer is a great way to build JSON responses using an object oriented approach. The objects have a very similar feel on how your ActiveModel object is set up in terms of attributes and relationships. It likewise permits you to pick your connector to decide what type of JSON structure is produced-or to build your own.

HTTP Status code, is just way to uniformly tell the person what the respond is, whether the response shows error or not.
And some of the status code are,
200 – OK , Successful Get
204 – No content, Successful Delete or Post
201 – Created – Successful Post
422 – Unprocessable Entity
401- Unauthorized, Authentication Failure

SICUREZZA
For the security reason in our API application, we can use HTTPS,
Rails.application.configure do
config.force_ssl = true
FINE

Infine,Testare l'API,S
comand line: – curl or htttpie
Browser: – Postman, JSON-Formatter
Rspec :- Request Specs
Rails Minitest :- Integration tests

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. 

Iscriviti per gli ultimi aggiornamenti

Articoli correlati

Informazioni sull'autore del post

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

it_ITItalian