API d'application avec Ruby on Rails

Qu'est-ce qu'une API ? Pourquoi une API dans ROR ?
Une API est une interface de programmation d'application. Il s'agit d'une interface entre l'intérieur et l'extérieur où l'extérieur interagit avec l'intérieur en utilisant des codes. L'intérieur peut donc être un serveur ou un appareil tel qu'un téléphone portable, un IPad, des bibliothèques logicielles telles que Ruby on Rails, JQuery, etc. qui interagissent avec HTTP par l'intermédiaire du web.
Les API sont conçues comme un composant de l'application. En principe, nous avons besoin d'une API web si nous voulons stocker et traiter nos données sur un serveur et permettre à toute autre application (application web, application mobile, appareils iOS, etc.) de demander et d'obtenir des données à partir de ce serveur si nécessaire. Ces autres applications peuvent faire partie de votre système ou vous pouvez ouvrir vos données pour que d'autres puissent les utiliser.

Avantages de la création d'une API
Nous pouvons séparer le front-end en Angular JS, Ember JS ou d'autres frameworks clients populaires pour créer une interface utilisateur personnalisée.

Avantages :

  • Beaucoup de flexibilité
  • Coût de maintenance réduit
  • Une plus grande évolutivité
  • Simplicité
  • Le développement d’API permet également d’intégrer facilement d’autres interfaces utilisateur, ce qui fait gagner beaucoup de temps.

Inconvénients de la création d'une API

  • Étant donné que le codeur envoie des messages à plusieurs reprises avec des informations redondantes, cela augmente la bande passante.
  • Latence négligeable
  • L'utilisation des en-têtes est maladroite et lie l'API à la réponse HTTP.

API REST dans Rails
Convention de transfert d'état représentationnel pour Hadoop développée en Web.est le style d'architecture logicielle pour le web. L'architecture est utilisée pour donner de la flexibilité à l'extraction de données par le biais de certains points d'extrémité. Elle fonctionne sur le protocole HTTP.

Comment faire une demande d'API ?
URL = HTTP, HOSTNAME, URL
Par exemple, URL : -https://portal.ehealthpro.com/blogs

Protocole URL SERVER

Chaque ressource possède deux URI, l'un représentant les collections de la liste, c'est-à-dire, https://portal.ehealthpro.com/blogs et l'autre représente l'élément, c'est-à-dire qu'il représente l'élément unique de cette collection  https://portal.ehealthpro.com/blogs/12
Pour construire une API, nous pouvons utiliser la gem appelée “gem rails-api”
https://github.com/rails-api/rails-api , En général, l'API doit répondre à l'identifiant de ressource uniforme (URI) et au protocole HTTTP. Ainsi,

En cours de route,

Développement de rails 1

Espaces de noms

Le générateur Rails crée un Userscontroller et les spécifications des routes associées. Dans les routes ci-dessus, en définissant un espace de noms dans le fichier routes.rb, Rails va automatiquement faire correspondre cet espace de noms à un index coordonnant le nom dans le dossier controllers, le répertoire api/. Et la réponse que nous obtenons est au format JSON, il nous suffit donc de spécifier ce format par défaut. Le fait de placer l'API sous un sous-domaine permet d'escalader l'application au niveau DNS.
L'option path permet de définir le chemin de départ de toute requête comme étant la racine par rapport au sous-domaine.

Gestion des versions

Le versionnement de l'application fournit la structure de base de l'API et, lorsque des modifications doivent être apportées, nous pouvons donner aux développeurs la possibilité de s'adapter aux nouvelles fonctionnalités tandis que les anciennes sont obsolètes. Pour définir la version de l'API, nous devons d'abord ajouter un autre répertoire sous l'API que nous avons créée, c'est-à-dire “v1”.

Module d'application : :v1,
Contraintes : ApiConstraints.new(version : 1, default : true) do
.........
Fin

Génération du contrôleur
Commande utilisée pour générer le contrôleur Utilisateur, rails generate controller API: : v1::users

Techniquement, JSON est un format d'échange de données léger, une collection de paires nom/valeur. Dans différents langages, cela se traduit par un objet, un enregistrement, une structure, un dictionnaire, une table de hachage, une liste à clés ou un tableau associatif.
Dans rails, il y a une gem appelée Active model serializer pour implémenter la réponse JSON. En utilisant cette gemme, nous obtiendrons le bon format de JSON.
Active Model Serializer est un excellent moyen de construire des réponses JSON en utilisant une approche orientée objet. Les objets sont très proches de la façon dont votre objet ActiveModel est configuré en termes d'attributs et de relations. Il vous permet également de choisir votre connecteur pour décider du type de structure JSON produite - ou de construire votre propre structure.

Le code d'état HTTP est une manière uniforme d'indiquer à la personne ce qu'elle a répondu, que la réponse contienne une erreur ou non.
Et certains des codes d'état sont les suivants,
200 - OK , Obtention réussie
204 - Pas de contenu, suppression ou publication réussie
201 - Créé - Poste réussi
422 - Entité non traitable
401- Non autorisé, échec de l'authentification

SÉCURITÉ
Pour des raisons de sécurité dans notre application API, nous pouvons utiliser HTTPS,
Rails.application.configure do
config.force_ssl = true
fin

Enfin, tester l'API, S
ligne de commande : - curl ou htttpie
Navigateur : - Postman, JSON-Formatter
Rspec :- Demande de spécifications
Rails Minitest :- Tests d'intégration

RailsCarma fournit des services de développement et de conseil Ruby on Rails depuis 8 ans. Nos développeurs maîtrisent bien toutes sortes de travaux de développement de Ruby on Rails et gérer tout type de projet. Contactez-nous pour en savoir plus sur nos compétences en développement et les projets que nous pouvons gérer. 

Abonnez-vous pour les dernières mises à jour

Articles Similaires

À propos de l'auteur du message

Laissez un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *


fr_FRFrench