PC & Mobile

Comment construire une API REST avec Express et Sequelize – Péter Keller – Medium

Comment construire une API REST avec Express et Sequelize - Péter Keller - Medium


Lorsque j'ai commencé à apprendre Node, j'ai commis la même erreur que la plupart des diplômés de Bootcamp de nos jours. Je suis allé directement vers les bases de données NoSQL sans même considérer SQL comme une option et je ne savais pas ce que j'avais manqué jusqu'à quand j'ai récemment été exposé à Ruby on Rails et à SQL. J'ai appris la différence entre les deux types de bases de données et j'ai réussi à les aimer également. En raison de mes nouvelles connaissances, j'ai décidé d'écrire une procédure pas à pas sur la création d'une API REST à l'aide d'Express et de Sequelize.

Commençons par installer les packages npm que nous utiliserons:

npm init
npm installer express séqueller sqlite3 analyseur de corps --save
npm installer sequelize-cli -g
se séquencer init

La commande «sequelize init» créera l’ossature de notre architecture de base de données et nous permettra de nous connecter facilement à notre base de données pour insérer / récupérer / supprimer des enregistrements. Une fois cette commande terminée, vous verrez quelques dossiers et fichiers supplémentaires dans votre application et la structure de vos dossiers devrait ressembler à ceci:

| - express-sequelize
| - config
| --- config.json
| - migrations
| - modèles
| --- index.js
| - node_modules
| - semoirs
| - package.json
| - package-lock.json

Les modèles de base de données planifiés et les relations entre eux ressembleront à ceci:

Pour ce tutoriel, j'utiliserai SQLite3 pour des raisons de simplicité. pour pouvoir utiliser cela avec Sequelize, nous devons aller dans notre fichier config / config.json et remplacer le contenu du fichier par ce qui suit:

Maintenant que notre environnement est entièrement configuré, il est temps de créer les modèles pour notre base de données. Sequelize-CLI nous permet de créer des modèles à la volée sans effort; nous devons simplement écrire le nom du modèle et le nom des colonnes de la base de données qui appartiendront au modèle actuel et le type de données que nous allons stocker. Juste comme ça:

modèle de suite: create --name Physician --attributes name: string
modèle sequelize: create --name Patient - attribue un nom: string
modèle sequelize: create --name Rendez-vous - attribue physicianId: integer, patientId: integer

Après cela, vous verrez que nous avons 3 nouveaux fichiers dans notre des modèles dossier. Il ne nous reste plus qu'à valider ces modifications dans la base de données en effectuant la migration à l'aide de la commande suivante:

suite db: migrer

Cela signifie que nos modèles sont créés dans la base de données (mais nous devons encore créer les associations entre eux). Nous aurons 2 modèles principaux: médecin et patient. Ils seront connectés par une table de jointure: Rendez-vous. Un médecin peut avoir plusieurs patients et vice versa via un rendez-vous. Commençons par le médecin. Il suffit de définir l’association dans la fonction «associé». Pour ce faire, cela se fait à la ligne 11. Nous sélectionnons le modèle actuel et utilisons la fonction ownToMany () qui recevra le modèle auquel nous voulons le connecter et les arguments facultatifs. Dans ce cas, nous devons inclure notre rendez-vous à la table de jointure.

Nous devons faire la même chose avec notre modèle Patient:

Et maintenant, il est temps de relier ces deux modèles à notre modèle de jointure en définissant une relation dans laquelle le rendez-vous appartient à un patient et à un médecin.

Cela signifie que notre base de données est prête. Il est temps de commencer avec le serveur de nœud. Rien de compliqué, juste un simple serveur Express. Tout d’abord, créons un fichier appelé server.js et collons ce code à l’intérieur.

Il ne reste plus qu'à définir les routes sur lesquelles notre serveur recevra les requêtes. Pour cela, je vais créer 3 fichiers dans un dossier nommé «routes», un fichier pour chaque modèle. Chaque fichier aura les itinéraires suivants inclus:

'GET' / nom
'GET' / nom /: id
'Après le nom
'PUT' / nom /: id
'DELETE' / nom /: id

Dans ces fichiers, nous importerons nos modèles à partir de la base de données que nous utiliserons et Sequelize nous permettra d’appeler des méthodes sur ces modèles qui exécutent des requêtes spécifiques dans la base de données. Le contenu de vos fichiers sera presque identique, mais avec des noms de modèles différents.

C'est quoi "médecinRoutes.js" ressemblera:

Si vous le comparez à “patientRoutes.js”, La seule différence principale que vous verrez est le nom des modèles.

Et "nominationRoutes.js":

Ces trois fichiers nous aideront à exécuter la fonctionnalité de base CRUD dans notre application. Bien sûr, nous pouvons créer davantage de points de terminaison où nous pouvons décrire ce qu’il faut faire dans des cas spécifiques ou ce qu’il faut renvoyer.

C’est tout pour le moment. Si vous démarrez votre serveur et remplissez votre base de données, vous pouvez créer, lire, mettre à jour et supprimer vos enregistrements. S'amuser!

Show More

SupportIvy

SupportIvy.com : Un lieu pour partager le savoir et mieux comprendre le monde. Meilleure plate-forme de support gratuit pour vous, Documentation &Tutoriels par les experts.

Related Articles

Laisser un commentaire

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

Close
Close