API sta per Programma di interfaccia applicativa, which provides one application to interact with ‘n’ number of applications which is of same/different language, to access the data/functionality.
Creating API application provides more scalability to the web applications. It will also helps for the easy integration with cross domain applications/languages.
• iOS apps
• Android apps
• Node js framework
• Angular js framework
There are 2 ways to achieve this in rails.
1. We can easily create a new API application using gem called rotaie-api, da cui ereditano l'applicazione API ActionController invece di ActionControllerBase and it will skip view generation. This will also helps to configure the middlewares.
2. In case the application is already created we have to inherit ActionControllerAPI manually.
API di versione
Una volta configurata l'applicazione, possiamo creare il controller nella cartella controller/v1, che aiuterà a mantenere facilmente le versioni e a rilasciare nuove versioni delle API. In questo controller possiamo scrivere codice per crud o alcune funzionalità che possono essere chiamate da curl o come richiesta API dall'applicazione front-end per le richieste GET, POST, DELETE, PATCH che forniscono risposte in formato JSON/xml, che è in formato leggibile dall'uomo . Questi dati JSON possono essere letti e visualizzati dall'applicazione front-end.
Sicurezza
Passando il gettone che viene generato per ciascun utente e e-mail of the user through an api header to secure an api. It can be ensured that there only authenticated user can access and modify data using api. Using these we can authenticate the user and secure the application. According to the data sent and the data matches in the applications we can send the proper responses back to the front-end application.
These are few basic aspects which can be implemented using rails and create a robust API architecture.
Sreedep Kumar
Sviluppatore senior di Ruby on Rails