1.0.8 • Published 1 year ago

strapi-api-client v1.0.8

Weekly downloads
-
License
MIT
Repository
-
Last release
1 year ago

Strapi API client

Strapi API client est une bibliothèque TypeScript légère pour interagir facilement avec l'API REST de Strapi. Elle simplifie les opérations CRUD et la gestion des relations dans Strapi.

Installation

npm install strapi-api-client

Utilisation

Initialisation

import StrapiClient from 'strapi-api-client';

const strapiClient = new StrapiClient('http://votre-api-strapi.com', 'votre-token-jwt');

Exemples de récupération de données

Récupérer tous les éléments d'une collection

const getAllArticles = async () => {
  try {
    const response = await strapiClient.getAll('articles');
    console.log(response.data);
  } catch (error) {
    console.error('Erreur lors de la récupération des articles:', error);
  }
};

getAllArticles();

Récupérer un élément

const getArticle = async (id: number) => {
  try {
    const article = await strapiClient.get('articles', id);
    console.log(article);
  } catch (error) {
    console.error(`Erreur lors de la récupération de l'article ${id}:`, error);
  }
};

getArticle(1);

Utiliser la population pour inclure des relations

const getArticlesWithCategories = async () => {
  try {
    const response = await strapiClient.getAll('articles', {
      populate: ['category']
    });
    console.log(response.data);
  } catch (error) {
    console.error('Erreur lors de la récupération des articles avec catégories:', error);
  }
};

getArticlesWithCategories();

Utiliser des filtres

const getFilteredArticles = async () => {
  try {
    const response = await strapiClient.getAll('articles', {
      filters: {
        title: {
          $contains: 'Strapi'
        }
      }
    });
    console.log(response.data);
  } catch (error) {
    console.error('Erreur lors de la récupération des articles filtrés:', error);
  }
};

getFilteredArticles();

Utiliser la pagination

const getPaginatedArticles = async (page: number, pageSize: number) => {
  try {
    const response = await strapiClient.getAll('articles', {
      pagination: {
        page,
        pageSize
      }
    });
    console.log(response.data);
    console.log(response.meta.pagination);
  } catch (error) {
    console.error('Erreur lors de la récupération des articles paginés:', error);
  }
};

getPaginatedArticles(1, 10);

Requêtes avancées avec QueryBuilder

Pour des requêtes plus complexes, vous pouvez utiliser le QueryBuilder :

const getComplexQuery = async () => {
  try {
    const response = await strapiClient
      .query()
      .populate(['category', 'author'])
      .filter({
        publishedAt: {
          $lt: new Date().toISOString()
        }
      })
      .sort('publishedAt:desc')
      .paginate(1, 20)
      .execute('articles');
    console.log(response.data);
  } catch (error) {
    console.error('Erreur lors de l\'exécution de la requête complexe:', error);
  }
};

getComplexQuery();
1.0.8

1 year ago

1.0.7

1 year ago

1.0.6

1 year ago

1.0.5

1 year ago

1.0.4

1 year ago

1.0.3

1 year ago

1.0.2

1 year ago

1.0.1

1 year ago

1.0.0

1 year ago