Passer au contenu du pied de page
AIDE NODE

LoopBack node js (Comment ça marche pour les développeurs)

Une solution complète pour la génération dynamique de PDF au sein des applications du framework LoopBack est assurée grâce à l'intégration fluide d'IronPDF, une bibliothèque pour créer des documents PDF par programmation, avec LoopBack, un framework Node.js pour construire des API. Avec des fonctionnalités telles que la création de modèles, la validation des sources de données, méthodes à distance, et contrôle d'accès, le framework LoopBack facilite le développement d'API/web, et IronPDF l'améliore avec des capacités de production de PDF plus sophistiquées.

Les développeurs peuvent créer des PDF à la volée avec cette intégration en extrayant des données de plusieurs sources, y compris des API externes et des bases de données. Cela permet de créer des enregistrements personnalisés ou des objets de domaine commercial pour répondre aux exigences du projet, telles que des factures, certificats, rapports, et plus encore. Parce que LoopBack est asynchrone, il complète bien les fonctionnalités d'IronPDF pour traiter les tâches de génération de PDF sans interférer avec la boucle d'événements, garantissant la réactivité et une performance optimale.

Pour commencer à travailler avec LoopBack et IronPDF, créez un nouveau projet en utilisant l'outil CLI de LoopBack et installez IronPDF comme dépendance en utilisant npm. Utiliser les capacités middleware et méthodes à distance de LoopBack pour créer des PDF instantanément en réponse aux requêtes des clients rend l'intégration simple. Tout bien considéré, cette intégration donne aux développeurs la possibilité de gérer efficacement diverses exigences de génération de documents au sein des applications LoopBack.

Qu'est-ce que LoopBack Node.js?

Un puissant framework Node.js appelé LoopBack a été créé pour simplifier le processus de création d'API et leur connexion à différentes sources de données. Avec LoopBack, un produit de StrongLoop, les développeurs peuvent facilement concevoir des applications évolutives et adaptables. Fondamentalement, LoopBack est construit sur un framework express et repose sur une méthodologie de développement axée sur le modèle, ce qui permet aux programmeurs de créer des modèles de données qui symbolisent le domaine de leurs applications. Les bases de données relationnelles comme MySQL et PostgreSQL, les bases de données NoSQL comme MongoDB, ainsi que les API REST externes et les services SOAP, peuvent tous être facilement intégrés à ces modèles.

LoopBack est unique en ce qu'il simplifie le processus de développement d'API en générant automatiquement des points de terminaison RESTful basés sur les modèles fournis. En outre, LoopBack propose un support intégré pour la validation, les permissions, et l'authentification, permettant aux programmeurs de sécuriser leurs API et de garantir l'intégrité des données. Parce que l'architecture middleware de LoopBack est basée sur Express.js, elle est extensible et flexible, permettant aux développeurs de travailler avec des middleware existants ou de créer des middleware sur mesure pour satisfaire des besoins uniques.

Que vous créiez une simple API REST ou une architecture de microservices sophistiquée, LoopBack dispose des capacités et des outils nécessaires pour accélérer le développement et produire des solutions fiables et évolutives. En raison de sa documentation exhaustive et de sa communauté dynamique, les développeurs le choisissent fréquemment lors de la création d'applications web et mobiles de pointe.

LoopBack node js (Comment ça fonctionne pour les développeurs): Figure 1 - LoopBack

Fonctionnalités de LoopBack

  • Architecture axée sur le modèle: En permettant aux développeurs de définir des modèles de données via une approche basée sur un schéma, LoopBack prend en charge le développement axé sur le modèle. Une variété de sources de données, y compris les bases de données, les API REST, et les services SOAP, peuvent être représentées en utilisant des modèles.
  • Agnosticisme des sources de données: Les bases de données relationnelles (MySQL, PostgreSQL), les bases de données NoSQL (MongoDB), les API REST externes, et les services SOAP ne sont que quelques-unes des nombreuses sources de données que LoopBack prend en charge.
  • Génération automatique d'API REST: LoopBack utilise des modèles prédéfinis pour créer automatiquement des points de terminaison API RESTful dans l'API Explorer, réduisant ainsi le code standard et accélérant le développement.
  • Support intégré pour l'authentification et l'autorisation: LoopBack offre un support intégré pour ces fonctionnalités, permettant aux développeurs d'intégrer un contrôle d'accès basé sur les rôles (RBAC), l'authentification des utilisateurs, et d'autres mesures de sécurité dans leurs API.
  • Middleware et méthodes à distance: Pour modifier le comportement des points de terminaison d'API, les développeurs peuvent fournir des middleware et des méthodes à distance en utilisant LoopBack. Alors que les méthodes à distance offrent une fonctionnalité personnalisée qui peut être appelée à distance via HTTP, les fonctions middleware peuvent intercepter et modifier les requêtes et les réponses.
  • Interface de ligne de commande (CLI) pour LoopBack: LoopBack inclut un outil CLI robuste qui facilite les activités typiques telles que la création de modèles et de contrôleurs, la création de nouveaux projets, et la réalisation de migrations.
  • Intégration avec les composants LoopBack: LoopBack facilite l'utilisation de composants, qui sont des modules réutilisables fournissant des capacités de livraison d'e-mails, de stockage de fichiers, et d'authentification. Cela évite aux développeurs de devoir tout recommencer lorsqu'ils ajoutent de nouvelles fonctionnalités à leurs applications.
  • LoopBack Explorer: Les développeurs sont capables d'examiner et de tester de manière interactive les points de terminaison API avec l'outil explorateur d'API intégré de LoopBack. Cela facilite le dépannage et la compréhension des possibilités de l'API.

Créer et Configurer LoopBack Node.js JS

Vous pouvez utiliser les procédures suivantes pour configurer et construire une application LoopBack dans Node.js:

Installer la CLI de LoopBack

Installer l'interface de ligne de commande (CLI) de LoopBack, qui offre des ressources pour construire et administrer des applications LoopBack, est la première étape. Utilisez npm pour l'installer globalement:

npm install -g @loopback/cli
npm install -g @loopback/cli
SHELL

Créer une nouvelle application LoopBack

Pour construire une nouvelle application LoopBack de base, utilisez la CLI. Ouvrez le répertoire dans lequel vous souhaitez construire votre application et exécutez-le là-bas:

lb4 app
lb4 app
SHELL

Pour fournir des informations sur votre application, comme son nom et son répertoire et les fonctionnalités que vous souhaitez activer, suivez simplement les invites.

On vous demandera de fournir les informations suivantes:

  1. Nom du projet: Entrez le nom de votre application, par exemple, my-loopback-app.
  2. Description du projet: Décrivez éventuellement votre application.
  3. Répertoire racine du projet: Acceptez le répertoire par défaut ou spécifiez un répertoire différent.
  4. Nom de la classe d'application: Acceptez le défaut Application.
  5. Activer Prettier: Choisissez si vous souhaitez activer Prettier pour le formatage du code.
  6. Activer TSLINT: Choisissez si vous souhaitez activer TSLint pour le linting du code.
  7. Activer Mocha: Choisissez si vous souhaitez activer Mocha pour exécuter des tests.

La CLI générera la structure du projet et installera les dépendances nécessaires.

Explorez la structure du projet

Votre répertoire de projet aura la structure suivante:

my-loopback-app/
├── src/
│   ├── controllers/
│   ├── models/
│   ├── repositories/
│   ├── index.ts
│   ├── application.ts
│   └── ...
├── package.json
├── tsconfig.json
└── ...

Définir des modèles

Pour spécifier la structure de vos données, développez manuellement des modèles ou utilisez la CLI de LoopBack. Les modèles, qui peuvent être pris en charge par une variété de structures et de sources de données, représentent les éléments de votre programme. Par exemple, exécutez la commande suivante pour générer un nouveau modèle appelé Product:

lb4 model
lb4 model
SHELL

Pour spécifier les attributs et les connexions de votre modèle, suivez les instructions.

Créer un contrôleur

Pour traiter les requêtes de création de documents PDF, créez un nouveau contrôleur. Pour créer un nouveau contrôleur, utilisez la commande suivante dans la CLI de LoopBack:

lb4 controller
lb4 controller
SHELL

Pour définir le nom et le modèle associé du contrôleur, suivez simplement les invites. Disons que nous voulons associer le nom de propriété du contrôleur au modèle Report et l'appeler ReportController.

Définir les sources de données

Déterminez avec quelles sources de données vos modèles vont communiquer. De nombreuses bases de données, telles que MySQL, PostgreSQL, MongoDB, et d'autres, sont prises en charge par LoopBack. Pour configurer vos sources de données, soit mettez à jour le fichier datasources.json ou utilisez la CLI de LoopBack.

Explorez LoopBack

Utilisez l'outil explorateur d'API intégré, disponible à http://localhost:3000/explorer, pour enquêter sur les fonctionnalités de LoopBack. Vous pouvez explorer et tester vos points de terminaison API ici même.

Code d'exemple de contrôleur Ping

import {inject} from '@loopback/core';
import {
  Request,
  RestBindings,
  get,
  response,
  ResponseObject,
} from '@loopback/rest';

/**
 * OpenAPI response for ping()
 */
const PING_RESPONSE: ResponseObject = {
  description: 'Ping Response',
  content: {
    'application/json': {
      schema: {
        type: 'object',
        title: 'PingResponse',
        properties: {
          greeting: {type: 'string'},
          date: {type: 'string'},
          url: {type: 'string'},
          headers: {
            type: 'object',
            properties: {
              'Content-Type': {type: 'string'},
            },
            additionalProperties: true,
          },
        },
      },
    },
  },
};

/**
 * A simple controller to bounce back http requests
 */
export class PingController {
  constructor(@inject(RestBindings.Http.REQUEST) private req: Request) {}

  // Map to `GET /ping`
  @get('/ping')
  @response(200, PING_RESPONSE)
  ping(): object {
    // Reply with a greeting, the current time, the url, and request headers
    return {
      greeting: 'Hello from LoopBack',
      date: new Date(),
      url: this.req.url,
      headers: Object.assign({}, this.req.headers),
    };
  }
}

Sortie du code ci-dessus.

LoopBack node js (Comment ça fonctionne pour les développeurs): Figure 2 - Sortie LoopBack

Commencer

Nous commencerons par créer une application exemple utilisant LoopBack Node.js et IronPDF pour créer un document PDF avec des informations générées dynamiquement. C'est un manuel étape par étape avec des explications détaillées.

Qu'est-ce que IronPDF?

Une bibliothèque d'application appelée IronPDF a été développée pour faciliter la création, l'édition, et la maintenance des PDFs. Avec cette application, les développeurs peuvent extraire du texte et des images des documents HTML, appliquer des en-têtes et des filigranes, combiner de nombreux documents PDF, et effectuer une variété d'autres activités. Les développeurs peuvent créer automatiquement des documents PDF de haute qualité avec facilité, grâce à l'API conviviale et à la documentation complète d'IronPDF. IronPDF offre toutes les fonctionnalités et capacités nécessaires pour améliorer les flux de travail de documents et offrir des expériences utilisateur de premier ordre dans une variété de scénarios, qu'ils soient utilisés pour préparer des factures, rapports, ou documentations.

LoopBack node js (Comment ça fonctionne pour les développeurs): Figure 3 - IronPDF

Caractéristiques de IronPDF

  • La conversion de HTML en PDF est un processus simple et rapide qui peut être utilisé pour n'importe quel contenu HTML, y compris le CSS et JavaScript.
  • Fusion de fichiers PDF: Pour faciliter les tâches de gestion de documents, combinez plusieurs documents PDF en un seul fichier PDF.
  • Extraction de texte et d'images: Extrayez du texte et des images des fichiers PDF pour les rendre disponibles pour une analyse ou un traitement de données supplémentaires.
  • Filigranage: Pour des raisons de sécurité ou de branding, vous pouvez ajouter des filigranes de texte ou d'images aux pages PDF.
  • Inclure un en-tête et un pied de page: Les en-têtes et pieds de page des documents PDF vous permettent d'inclure un message personnalisé ou des numéros de page.

Installer IronPDF

Pour permettre la fonctionnalité d'IronPDF, installez les packages Node.js nécessaires à l'aide du gestionnaire de packages node.

npm install @ironsoftware/ironpdf
npm install @ironsoftware/ironpdf
SHELL

Intégrer LoopBack avec IronPDF Node.js

Implémentez la logique suivante dans le fichier de contrôleur créé (report.controller.ts ou report.controller.js) pour créer des documents PDF à l'aide d'IronPDF:

import {inject} from '@loopback/core';
import {Request, RestBindings, get, response} from '@loopback/rest';
const IronPdf = require('@ironsoftware/ironpdf');

// Configure IronPDF license key, if needed
var config = IronPdf.IronPdfGlobalConfig;
config.setConfig({licenseKey: ''});

/**
 * Controller handling PDF generation
 */
export class ReportController {
  constructor(@inject(RestBindings.Http.REQUEST) private req: Request) {}

  @get('/generate-pdf', {
    responses: {
      '200': {
        description: 'PDF file',
        content: {'application/pdf': {schema: {type: 'string', format: 'binary'}}},
      },
    },
  })
  async generatePdf(): Promise<Buffer> {
    // HTML content to be converted to PDF
    const htmlContent = '<html><body><h1>Hello, IronPDF!</h1></body></html>';

    // Generate PDF from HTML
    const pdf = await IronPdf.PdfDocument.fromHtml(htmlContent);

    // Get the PDF as a Buffer
    const pdfBuffer = await pdf.saveAsBuffer();

    // Return the PDF buffer to serve as a downloadable file
    return pdfBuffer;
  }
}

La création d'instances de rapport et la génération de PDF sont gérées par le ReportController. Le contenu HTML est converti en un buffer PDF en utilisant IronPDF et renvoyé via la méthode generatePdf. Pour rendre le HTML en tant que PDF, la fonction generatePdf utilise IronPDF. Le contrôleur LoopBack gère cette intégration avec aisance. Le contenu HTML du client est ensuite reçu en définissant un point de terminaison GET, /generate-pdf. Nous transformons le contenu HTML fourni en un PDF à l'intérieur du point de terminaison en utilisant la bibliothèque IronPDF.

Plus précisément, nous utilisons pdf.saveAsBuffer() pour produire un buffer binaire du fichier PDF et IronPdf.PdfDocument.fromHtml(htmlContent) pour construire un objet PDF à partir d'un fichier JSON. Après cela, ce buffer est renvoyé au client avec le bon type MIME (application/pdf). Tous les problèmes qui surviennent lors de la création de PDF sont détectés et enregistrés par le serveur, qui est à l'écoute sur le port 3000. Le client reçoit un code d'état 500 en réponse. Cette configuration permet de créer des PDF dynamiques à partir de contenu HTML, ce qui est utile lors de la création de factures, rapports, ou autres papiers pour une application web.

LoopBack node js (Comment ça fonctionne pour les développeurs): Figure 4 - Sortie PDF

Conclusion

Enfin, l'intégration d'IronPDF avec LoopBack 4 offre une combinaison puissante pour le développement d'applications en ligne. Avec LoopBack 4, les développeurs peuvent facilement créer des API RESTful avec un cadre solide qui les libère pour se concentrer sur la logique métier plutôt que sur le code standard. Cependant, IronPDF a des fonctionnalités de génération de PDF fluides qui permettent de créer des documents PDF dynamiques à partir de texte HTML.

En outre, le processus de développement est simplifié par la flexibilité et la facilité d'utilisation de LoopBack 4 et IronPDF, permettant aux développeurs de produire rapidement des applications de haute qualité. Parce que LoopBack 4 gère les contrôles d'accès de l'API backend et qu'IronPDF gère la création de PDF, les développeurs peuvent se concentrer sur la satisfaction des besoins métier et offrir des expériences utilisateur exceptionnelles.

We can guarantee feature-rich, high-end software solutions for clients and end users by integrating IronPDF and eight other libraries into your development stack. En outre, ce socle solide optimisera les processus, les systèmes backend, et les initiatives. À partir de $799 chacun, ces technologies conviennent aux projets de développement logiciel modernes grâce à leur documentation complète, leur communauté dynamique de développeurs en ligne, et leurs mises à jour fréquentes.

Darrius Serrant
Ingénieur logiciel Full Stack (WebOps)

Darrius Serrant est titulaire d'un baccalauréat en informatique de l'université de Miami et travaille comme ingénieur marketing WebOps Full Stack chez Iron Software. Attiré par le codage dès son plus jeune âge, il a vu l'informatique comme à la fois mystérieuse et accessible, en faisant le ...

Lire la suite