Comment écrire une API REST en Swift en 30 minutes : guide pour débutants

Formateur Python en ligne pour débutants

Apprenez Python facilement sans surcharge théorique. Résolvez des tâches pratiques avec vérification automatique et écrivez du code directement dans le navigateur.

Start Course

Comment écrire une API REST en Swift en 30 minutes : pour débutants



Swift n'est pas seulement un langage pour créer des applications mobiles sous iOS et macOS. Avec l'apparition du framework Vapor, le développement d'applications serveur en Swift est devenu accessible et pratique. Dans cet article, nous allons montrer comment écrire une API REST simple en Swift en seulement 30 minutes. Vous découvrirez les principes de base du travail avec Vapor, apprendrez à créer des routes, à traiter les requêtes et à renvoyer des réponses JSON.



Ce guide est parfait pour les débutants qui connaissent déjà les bases de Swift, mais qui n'ont jamais écrit de code serveur. Nous allons décomposer le processus étape par étape, avec des exemples de code et des explications.



Qu'est-ce qu'une API REST et pourquoi en a-t-on besoin ?



REST (Representational State Transfer) est un style architectural d'interaction entre les composants d'une application distribuée sur un réseau. Une API REST permet aux applications clientes (par exemple, une application iOS) de recevoir et d'envoyer des données au serveur via des requêtes HTTP.



Les principales méthodes HTTP utilisées dans REST :

  • GET — récupération de données
  • POST — création d'une nouvelle ressource
  • PUT — mise à jour d'une ressource existante
  • DELETE — suppression d'une ressource


Pour notre exemple, nous allons créer une API simple pour gérer une liste de tâches (Todo List). Elle prendra en charge les quatre opérations CRUD de base (Create, Read, Update, Delete).



Installation de Vapor et création du projet



Vapor est le framework web le plus populaire pour Swift. Pour commencer, installez Vapor Toolbox via Homebrew :



brew install vapor


Après l'installation, créez un nouveau projet :



vapor new TodoAPIcd TodoAPI


Cette commande créera une structure de projet avec un serveur déjà configuré. Ouvrez le projet dans Xcode :



open Package.swift


Dans Xcode, vous verrez la structure standard d'un projet Vapor. Le code principal se trouve dans le dossier Sources/App.



Création du modèle de données



Pour travailler avec les tâches, nous avons besoin d'un modèle. Créons un fichier Todo.swift dans le dossier Sources/App/Models :



import Vaporimport Fluent

final class Todo: Model, Content { static let schema = "todos" @ID(key: .id) var id: UUID? @Field(key: "title") var title: String @Field(key: "is_completed") var isCompleted: Bool init() {} init(id: UUID? = nil, title: String, isCompleted: Bool = false) { self.id = id self.title = title self.isCompleted = isCompleted }}


Nous utilisons Fluent — l'ORM pour Swift qui fonctionne avec les bases de données. Dans notre exemple, nous utiliserons SQLite pour simplifier. Notez le protocole Content — il permet d'encoder/décoder automatiquement le modèle en JSON.



Configuration de la migration et de la base de données



Créons maintenant une migration pour notre modèle. Ajoutez le fichier CreateTodo.swift dans le dossier Sources/App/Migrations :



import Fluent

struct CreateTodo: Migration { func prepare(on database: Database) -> EventLoopFuture<Void> { return database.schema("todos") .id() .field("title", .string, .required) .field("is_completed", .bool, .required) .create() } func revert(on database: Database) -> EventLoopFuture<Void> { return database.schema("todos").delete() }}


Dans le fichier configure.swift, ajoutez l'enregistrement de la base de données et de la migration :



import Fluentimport FluentSQLiteDriver

public func configure(_ app: Application) throws { app.databases.use(.sqlite(.file("db.sqlite")), as: .sqlite) app.migrations.add(CreateTodo())

Blogs

Book Recommendations