strapi-api-client
v1.0.8
Published
A TypeScript interface for Strapi CMS
Downloads
19
Readme
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();