API, abréviation d'interface de programme d'application, est un ensemble de pratiques, de protocoles et d'outils permettant de créer des applications logicielles. Parfois, nous pouvons avoir besoin d’une intégration tierce pour notre application Web. Pour y parvenir, l’API REST est une chose simple. L'avantage de l'API Rest sera indépendant du langage.
REST (REpresentational State Transfer) est une architecture simple qui s'exécute sur HTTPS ou TLS. Le style REST souligne que les interactions entre les clients et les services sont améliorées grâce à un nombre limité d'opérations.
La flexibilité est assurée en attribuant aux ressources leurs propres indicateurs de ressources universelles (URI). Étant donné que chaque opération (GET, POST, PUT et DELETE) a une signification spécifique, REST évite toute incertitude.
Construire une API REST simple :
L'API n'a besoin d'aucune vue car l'utilisateur n'interagit pas directement avec l'application. Nous spécifions simplement les données que le tiers enverra.
Il n'y aura aucune action d'affichage ou de modification car nous n'avons aucune vue ici. Pour chaque requête, certaines données seront renvoyées avec le code d'état et le message d'échec de réussite. Les données peuvent être au format json ou xml.
Exigence : gem 'rails-api'
Lors de la création de l'application, créez en tant que rails-api le nouveau [nom_application], afin d'éviter la vue, les ressources/feuilles de style et les ressources/javascript.
Nous devons créer un espace de noms pour notre API, ce qui maintient notre code propre et maintient vos API indépendantes du reste de vos contrôleurs. Nous commençons par ajouter nos itinéraires.
routes.rb
espace de noms :api do
ressources : utilisateurs
fin
Il recherchera un UsersController dans app/controllers/api/users_controller.rb
classe api :: UsersController < ApplicationController
fin
J'espère que vous êtes tous familiers avec les opérations CRUD simples, faites de même ici, mais il n'y aura pas de vue, donc à la place de la redirection, nous devons restituer certaines données avec le code d'état.
Par ex.
classe Api :: UsersController < ApplicationController
indice déf
@users = Utilisateur.all
répondre_à faire |format|
format.json { rendu json : @users }
format.xml { rendu xml : @users }
fin
findéfinitivement détruire
répondre_à faire |format|
si @user.destroy
format.json { head :no_content, status: :Supprimé avec succès }
format.xml { head :no_content, status : : supprimé avec succès }
autre
format.json { render json : @user.errors, statut : Impossible }
format.xml { rendu xml : @user.errors, statut : Impossible }
fin
fin
finfin
De cette façon, nous pouvons créer une API REST.
Si vous devez ajouter une nouvelle fonctionnalité, toute modification apportée à votre API, vous pouvez créer une version de votre API.
Versionnement de l'API
Dans routes.rb
espace de noms :api do
espace de noms : v1 à faire
ressources : utilisateurs
fin
fin
Il recherchera un UsersController dans
app/controllers/api/v1/users_controller.rb
classe Api :: V1 :: UsersController < ApplicationController
fin
Enfin, fournissez la documentation de l'API aux utilisateurs.
Requêtes API :
Liste des utilisateurs
URL : http://localhost:3000/api/users
méthode : OBTENIR
Suppression d'un utilisateur
URL : http://localhost:3000/api/users/:id
méthode : SUPPRIMER
RailsCarma, une société Global Rails de marque et réputée qui fournit des services de développement RoR haut de gamme sur une décennie. Il fournit des solutions mises à jour et de haut niveau pour tous les services RoR.
Lire des articles similaires :