Pakete, Repositories und App-Kategorien suchen

Paketdetailsv2.0.0

dart_strapi

Dart-Client für Strapi V4

AndroidiOSWebmacOSWindowsLinux
30-Tage-Downloads
63
Likes
25
Pub-Punkte
130

Paket installieren

flutter pub add dart_strapi

Paketübersicht

Aus öffentlichen Paketdaten erstellte Orientierung.

Ein Dart-Client für Strapi V4, der eine nahtlose Integration zwischen Dart/Flutter-Anwendungen und Strapi-Backend-Diensten ermöglicht. Er bietet eine saubere, typensichere API zur Interaktion mit den RESTful-Endpunkten von Strapi und unterstützt Authentifizierung, Datenabruf sowie CRUD-Operationen. Speziell für Entwickler konzipiert, die Apps erstellen, die auf Strapi als headless CMS oder Backend angewiesen sind, vereinfacht er die API-Kommunikation über mehrere Plattformen hinweg.

Anwendungsfälle

  • Integration von Flutter-Anwendungen mit Strapi V4-Backends
  • Inhalt aus einem Headless-CMS abrufen und verwalten
  • Benutzerauthentifizierung mit Strapi implementieren
  • Dynamische Web- und Mobile-Apps mit Echtzeitdaten erstellen
  • Synchronisieren von Daten zwischen Flutter-Clients und Strapi-Servern

Hauptmerkmale

  • Typsichere API-Aufrufe
  • Unterstützung für Strapi V4-Authentifizierung
  • Plattformübergreifende Kompatibilität
  • Einfache Einrichtung mit Flutter pub
  • Eingebaute Fehlerbehandlung und Antwortanalyse

Geeignet für

  • Flutter-Entwickler, die Strapi V4 verwenden
  • Teams, die headless CMS-betriebene Apps entwickeln
  • Mobile und Web-Apps, die eine Backend-Integration erfordern
  • Entwickler, die leichte Strapi-Clients suchen
  • Projekte, die konsistente API-Interaktionen über Plattformen hinweg benötigen

Hinweise

  • Erfordert Strapi V4 Backend
  • Beschränkt auf REST-API (kein GraphQL-Unterstützung)
  • Abhängig von der API-Struktur von Strapi
  • Möglicherweise sind benutzerdefinierte Erweiterungen für erweiterte Funktionen erforderlich
  • Der Authentifizierungsablauf erfordert eine korrekte Konfiguration

Original-README

Originaler README-Schnappschuss aus dem verknüpften Quell-Repository. Aktuelle Inhalte finden Sie im Repository.

dart_strapi

dart client for Strapi V4

For Strapi V3 client check v1.2.0

Example

import 'package:dart_strapi/dart_strapi.dart';

final serverUrl = 'http://localhost:1337';
final authToken = '<token>';
final collection = '<collectionType>';
final single = '<singleType>';

void main() async {
  final client = Strapi(
    serverUrl,
    token: authToken,
  );

  final singleResponse = await client.single.get(single);
  print("Single Response: $singleResponse");
  print("Data: ${singleResponse.item1}");
  print("Meta: ${singleResponse.item2}");
  print("\n----------------------------------------------------\n");

  final singleNotFoundResponse = await client.single.get("lalala");
  print("Single Not Found Response: $singleNotFoundResponse"); // [null, null]
  print("Data: ${singleNotFoundResponse.item1}"); // null
  print("Meta: ${singleNotFoundResponse.item2}"); // null
  print("\n----------------------------------------------------\n");

  final collectionResponse = await client.collection.get(collection);
  print("Collection Response: $collectionResponse");
  print("Data: ${collectionResponse.item1}");
  print("Meta: ${collectionResponse.item2}");
  print("\n----------------------------------------------------\n");

  final collectionNotFoundResponse = await client.collection.get('rarara');
  print("Collection Not Found Response: $collectionNotFoundResponse"); // [null, null]
  print("Data: ${collectionNotFoundResponse.item1}"); // null
  print("Meta: ${collectionNotFoundResponse.item2}"); // null
  print("\n----------------------------------------------------\n");

  final collectionSingleResponse = await client.collection.getOne(collection, 1);
  print("Collection Single Response: $collectionSingleResponse");
  print("Data: ${collectionSingleResponse.item1}");
  print("Meta: ${collectionSingleResponse.item2}");
  print("\n----------------------------------------------------\n");

  final collectionSingleNotFoundResponse = await client.collection.getOne("xaxaxa", 1);
  print("Collection Single Not Found Response: $collectionSingleNotFoundResponse"); // [null, null]
  print("Data: ${collectionSingleNotFoundResponse.item1}"); // null
  print("Meta: ${collectionSingleNotFoundResponse.item2}"); // null
  print("\n----------------------------------------------------\n");

  final resourceSingle = await client.resource.get(single);
  print("Resource Single Response: $resourceSingle"); // Response<Data.single>
  print("\n----------------------------------------------------\n");

  final resourceCollection = await client.resource.get(collection);
  print("Resource Collection Response: $resourceCollection"); // Response<Data.collection>
  print("\n----------------------------------------------------\n");

  final resourceCollectionSingle = await client.resource.get("$collection/1");
  print("Resource Collection Single Response: $resourceCollectionSingle"); // Response<Data.single>
  print("\n----------------------------------------------------\n");

  final resourceNoExists = await client.resource.get("lalala");
  print("Resource Not Found Response: $resourceNoExists"); // Response.error
  print("\n----------------------------------------------------\n");
}

Output

Single Response: [{id: 1, attributes: {...}}, Meta(pagination: null)]
Data: {id: 1, attributes: {...}}
Meta: Meta(pagination: null)

----------------------------------------------------

Single Not Found Response: [null, null]
Data: null
Meta: null

----------------------------------------------------

Collection Response: [[{id: 1, attributes: {...}}, {id: 2, attributes: {...}}], Meta(pagination: Pagination(page: 1, pageSize: 25, pageCount: 1, total: 2))]
Data: [{id: 1, attributes: {...}}, {id: 2, attributes: {...}}]
Meta: Meta(pagination: Pagination(page: 1, pageSize: 25, pageCount: 1, total: 2))

----------------------------------------------------

Collection Not Found Response: [null, null]
Data: null
Meta: null

----------------------------------------------------

Collection Single Response: [{id: 1, attributes: {...}}, Meta(pagination: null)]
Data: {id: 1, attributes: {...}}
Meta: Meta(pagination: null)

----------------------------------------------------

Collection Single Not Found Response: [null, null]
Data: null
Meta: null

----------------------------------------------------

Resource Single Response: Response(data: Data.single(data: {id: 1, attributes: {...}}), meta: Meta(pagination: null))

----------------------------------------------------

Resource Collection Response: Response(data: Data.collection(data: [{id: 1, attributes: {...}}, {id: 2, attributes: {...}}]), meta: Meta(pagination: Pagination(page: 1, pageSize: 25, pageCount: 1, total: 2)))

----------------------------------------------------

Resource Collection Single Response: Response(data: Data.single(data: {id: 1, attributes: {...}}), meta: Meta(pagination: null))

----------------------------------------------------

Resource Not Found Response: Response.error(message: ...)

----------------------------------------------------

This package is in active development process, there are implemented methods to query, if you need create / update / delete or call other api you can use client.httpClient to call Dio client directly.

Check Examples for more

Kategorien

Abhängigkeiten

Abhängigkeiten 4 Einträge

Quell-Repository

Projekte, die dieses Paket verwenden

Noch keine Daten verfügbar.